【发布时间】:2012-12-08 05:53:51
【问题描述】:
如何在不使用全局变量的情况下获取 winMain 的 HWND hwnd 的 hInstance 应用程序句柄?我正在尝试将一个对话框发送到 LRESULT CALLBACK 以使其显示某些菜单项。 或者是不同的设置方式。我已经用全局变量完成了,但我似乎无法弄清楚如何在 LRESULT CALLBACK 中设置它 我试过了
HINSTANCE hInst = (HINSTANCE)GetWindowLongPtr(hwnd, GWL_HINSTANCE);
HWND hDlgbox = CreateDialog(hInst, MAKEINTRESOURCE(ID_TOOL_BOX_CREATE) ,hwnd, ToolProc);
在 wndproc 中,但是当我尝试使用弹出菜单项打开它时,它只会显示一次,然后再也不会出现,并且在以这种方式在wndproc.
【问题讨论】:
-
你试过GetModuleHandle(NULL)吗?
-
我刚刚尝试过,我仍然遇到同样的问题......也许是winproc内部的设置?它仍然没有收到任何消息,有没有一种方法可以在不使用全局的情况下将对话框从 winmain 发送到 winproc?
-
所以你有一些像 MyDialog dlg; dlg.DoModal()?
-
不,我只是将它作为 winproc 问题中的上述代码。
-
nvm 我明白了。我会在下面发布我的答案