为一个对话框加一个菜单,能通过调试,但是运行时崩溃,求解析,代码如上
为一个对话框加一个菜单,能通过调试,但是运行时崩溃,求解析,代码如下
------解决方案--------------------
DialogBox(hInstance,MAKEINTRESOURCE(IDD_DIALOG1),NULL,DlgProc);
是不是崩溃在这。我感觉有问题。不过具体怎么写,有点忘记了,要去查下MSDN
------解决方案--------------------
你怎么调试的, 直接按 F5 吗?运行时崩溃的 同样是 debug版本吗?
要不你试试,在main开始处加一个MessageBox,然后就有机会 附加到进程了,然后此时呢?
------解决方案--------------------
HINSTANCE hInstance = ((LPCREATESTRUCT)lParam)->hInstance;
-----------
这里错了~
- C/C++ code
#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;
-----------
这里错了~