我正在尝试制作一个弹出消息框,上面写着"Hello World".我开始使用File> New Project> Visual C++> CLR> Windows Form Application然后我将一个按钮从工具箱拖到窗体上,双击它输入
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { MessageBox("Hello World"); }
然后我编译了......但是我收到了一条错误信息
错误C2440:'':无法从'const char [12]'转换为'System :: Windows :: Forms :: MessageBox'
你需要:
MessageBox::Show("Hello World");
(根据Visual Studio 2005中的说明进行测试.)
我不确定你的最终目标是什么,但主题提到了"C语言中的Windows应用程序" - 你已经创建了一个C++/CLI应用程序,这实际上并不是一回事.
C++/CLI是Microsoft尝试在.NET运行时附近创建C++方言.
如果要构建C程序,请从Visual C++ - > Win 32项目开始.
在生成的代码中,在_tWinMain函数中,添加对本机MessageBox函数的调用:
int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); MessageBox(NULL, _T("Hello world!"), _T("My program"), MB_OK); // ... }
这应该让你开始.