gpt4 book ai didi

c++ - Winapi:插件中的createWindow

转载 作者:行者123 更新时间:2023-11-30 00:57:02 27 4
gpt4 key购买 nike

我正在开发一个插件(一个由其他应用程序加载的 dll)。有一个特殊函数应该返回 HWND 以便应用程序可以显示对话框。问题是我不知道从哪里可以获得 hInstance(它没有作为参数传递给函数)。

看来我不明白什么,我对所有这些东西都是新手,如果问题很愚蠢,请原谅。

UPD:尝试使用 getModuleHandle 获取 hInstance:

void* createLoginDialog() {
HINSTANCE hIns = (HINSTANCE) GetModuleHandle(L"comapping");
HWND hWnd = CreateWindow(L"Popup",
L"Enter login",
WS_POPUP,
20,
20,
20,
20,
NULL,
NULL,
hIns,
NULL);
return hWnd;
}

我仍然遇到访问冲突。

最佳答案

几种获取方式:

  • 传递给 DllMain() 入口点的第一个参数,转换为 HINSTANCE
  • GetModuleHandle() 使用您的 DLL 名称,转换为 HINSTANCE
  • VirtualQuery(),传递函数的地址。将返回的 MEMORY_BASIC_INFORMATION.BaseAddress 转换为 HINSTANCE。适用于 32 位和 64 位版本的 Windows。

关于c++ - Winapi:插件中的createWindow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9160462/

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