当我单击主窗口上的按钮时,我试图创建一个弹出窗口,为此我使用了 CreateWindowEX 函数。但是,CreateWindowEx 函数接收 HINSTANCE 类型变量作为其倒数第二个参数。鉴于我在单击按钮时从 WndProcedure 内部创建了这个新窗口,WinMain 函数中的 HINSTANCE 变量对我来说将不可用,因为它不是全局变量。
以下代码是从 WndProcedure 回调函数中获取的:
case IDC_BUTTON PRESSED:
{
const char g_szClassName2[] = "POPWIND";
const char WndName2[] = "POPUP WINDOW";
HWND invisWindowHandle = CreateWindowEx(0,
g_szClassName2,
WndName2,
WS_OVERLAPPEDWINDOW,
200,
200,
800,
500,
NULL,
NULL,
hInstance,//THIS IS THE VARIABLE I AM HAVING TROUBLE GETTING
NULL);
ShowWindow(invisWindowHandle, 3);// SW_SHOWNORMAL);
UpdateWindow(invisWindowHandle);
}
我将如何获取我需要的 hInstance 变量,以便 CreateWindowEx 函数在 WndProcedure 回调函数内部工作?
注意:我考虑将 hInstance 变量设为全局变量,但我不确定是否必须为我的应用程序创建的每个窗口使用相同的 hInstance。