在vs.net2005为什么这样的一句都有错误?MessageBox("test");

来源:百度知道 编辑:UC知道 时间:2024/06/05 15:14:46
郁闷!为什么在VS.NET2005里这样的一句代码会有错呢?
MessageBox("test");
我确定没有写错?
他提示:
error C2664: “CWnd::MessageBoxW”: 不能将参数 1 从“const char [9]”转换为“LPCTSTR”
与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换

后来我用
LPCTSTR p = reinterpret_cast<LPCTSTR>("test");
转换后用MessageBoxW(p);
弹出来的却是乱码?
这是怎么回事?怎么开发工具的版本不同语法完全不同呢?
要怎么样能让VS2005能像VC6或VS2003语法呢?
郁闷中,用的朋友帮帮忙呀@!

MessageBox(_T("test"));

MessageBox(TEXT("test"));

#undef _UNICODE

右键解决方案->Configuation Properties->General->Project Defaults->Character Set
选Use Multi-Byte Character Set

是:
MessageBox.Show("test");
吧?

MessageBox(L"test");

为了使用UNICODE,在字符串前面加上一个大写的L。为了国际化,请坚持使用UNICODE吧,否则你的应用程序永远只能在自己的小国内运行。

直接这样写应该会出错吧
在VS2005里还是用JavaScript弹出对话框比较简单

兄弟还是用这个吧,呵呵
RegisterStartupScript("alert", "<script language='javascript'> alert('test')</script>")
或是:Response.Write("test")
呵呵

Winform: MessageBox.Show("test");

Asp.net: Response.Write("test")