替一个对话框加一个菜单,能通过调试,但是运行时崩溃,求解析,代码如下
为一个对话框加一个菜单,能通过调试,但是运行时崩溃,求解析,代码如下
------解决方案--------------------
DialogBox(hInstance,MAKEINTRESOURCE(IDD_DIALOG1),NULL,DlgProc);
是不是崩溃在这。我感觉有问题。不过具体怎么写,有点忘记了,要去查下MSDN
------解决方案--------------------
你怎么调试的, 直接按 F5 吗?运行时崩溃的 同样是 debug版本吗?
要不你试试,在main开始处加一个MessageBox,然后就有机会 附加到进程了,然后此时呢?
------解决方案--------------------
HINSTANCE hInstance = ((LPCREATESTRUCT)lParam)->hInstance;
-----------
这里错了~
#include<windows.h>
#include"resource.h"
BOOL CALLBACK DlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
DialogBox(hInstance,MAKEINTRESOURCE(IDD_DIALOG1),NULL,DlgProc);
return 0;
}
BOOL CALLBACK DlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
HINSTANCE hInstance = ((LPCREATESTRUCT)lParam)->hInstance;
HMENU hMenu;
switch (message)
{
case WM_INITDIALOG:
hMenu = LoadMenu(hInstance,MAKEINTRESOURCE(IDR_MENU1));
SetMenu(hDlg,hMenu);
return TRUE;
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDOK:
return TRUE;
case IDCANCEL:
EndDialog(hDlg,0);
return TRUE;
}
break;
}
return FALSE;
}
------解决方案--------------------
DialogBox(hInstance,MAKEINTRESOURCE(IDD_DIALOG1),NULL,DlgProc);
是不是崩溃在这。我感觉有问题。不过具体怎么写,有点忘记了,要去查下MSDN
------解决方案--------------------
你怎么调试的, 直接按 F5 吗?运行时崩溃的 同样是 debug版本吗?
要不你试试,在main开始处加一个MessageBox,然后就有机会 附加到进程了,然后此时呢?
------解决方案--------------------
HINSTANCE hInstance = ((LPCREATESTRUCT)lParam)->hInstance;
-----------
这里错了~