在vc ++中显示简单的消息框

时间:2011-03-03 15:10:20

标签: visual-c++

我刚开始使用vc ++ 2008.我只想看一条消息(对话框)。我已将我的项目创建为win32项目应用程序。

我编写了下面的代码来查看MessageBox

MessageBoxW(NULL, "Window Registration Failed!", "Error!", MB_ICONEXCLAMATION | MB_OK);

但是我收到了错误

  

错误C2664:'MessageBoxW':无法将参数2从'const char [28]'转换为'LPCWSTR'

这是什么错误?看到一个简单的消息框显示我需要做什么。

3 个答案:

答案 0 :(得分:4)

MessageBoxW接受“宽字符串”参数,因此在每个字符串前添加L

MessageBoxW(NULL, L"Window Registration Failed!", L"Error!", MB_ICONEXCLAMATION | MB_OK);

答案 1 :(得分:0)

Jerry已经解释过,编译错误的原因是类型不匹配(你有一个函数需要宽字符串并且传递一个很窄的字符串)。我建议您不要使用宽或窄的特定功能(带有W或A后缀的功能),而是使用非后缀功能(在这种特殊情况下使用MessageBox)。 Windows API头文件包含的代码将根据您的构建设置选择正确的函数版本,即,如果您正在构建该软件的Unicode版本。

答案 2 :(得分:0)

您正在使用ASCII输入字符串作为MessageBoxW而不是ASCII消息框。 请尝试使用以下代码:

 MessageBoxA(NULL, "Window Registration Failed!", "Error!", MB_ICONEXCLAMATION | MB_OK);