我想在你的互联网浏览器上做点什么。它将有一个文件,然后是列表底部的退出。所以我想让它像退出程序一样。 (和Dev C ++和任何其他程序一样[我不编写Web浏览器])
好的,这是我的代码请帮助:
#define ID_Exit 1
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_CREATE:{
HMENU hMenubar = CreateMenu();
HMENU hFile = CreateMenu();
AppendMenu(hMenubar, MF_POPUP, (UINT_PTR)hFile, "File");
AppendMenu(hFile, MF_STRING, ID_Exit, "Exit");
SetMenu(hwnd, hMenubar);
break;
}
case WM_COMMAND:{
if (LOWORD(wParam) == ID_Exit){
void exit ( int status );
}
break;
}
答案 0 :(得分:1)
您应该使用Windows函数DestroyWindow来销毁主窗口:
if (LOWORD(wParam) == ID_Exit) {
DestroyWindow(hwnd);
break;
}
答案 1 :(得分:0)
Win32应用程序的正确退出序列(来自您的代码段中缺少任何库调用,我猜你所做的是普通的Win32)在这里描述:Using Windows - Destroying a Window。
调用exit
是一个坏主意,因为它会立即终止您的应用程序,并且不会清理,保存或执行窗口关闭时可能需要执行的任何操作。