gpt4 book ai didi

c++ - 如何获得 winMain hInstance? Windows 32 编程

转载 作者:行者123 更新时间:2023-11-30 17:56:08 25 4
gpt4 key购买 nike

如何在不使用全局变量的情况下获取 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。

最佳答案

所以我所做的是在win主程序中

HWND hdlg;

将 wndextra 设置为 hwnd 的大小。

然后按照您的方式创建您的 dlg 框。

SetWindowLongPtr(hwnd, 0, (LONG_PTR)hdlg);

以及在 winproc 中hwnd somenewDlg

somenewDlg = (HWND)GetWindowLongPtr(hwnd, 0);

关于c++ - 如何获得 winMain hInstance? Windows 32 编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13774940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com