Как получить HINSTANCE для функции CreateWindowEX при использовании ее вне WinMain?

Я пытаюсь создать всплывающее окно, когда я нажимаю кнопку в моем главном окне, и я использую функцию CreateWindowEX для этой цели. Однако функция CreateWindowEx получает переменную типа HINSTANCE в качестве своего второго последнего параметра. Учитывая, что я создаю это новое окно изнутри WndProcedure при нажатии кнопки, переменная HINSTANCE в функции WinMain не будет мне доступна, поскольку она не является глобальной переменной.

Следующий код был получен из функции обратного вызова 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 для каждого окна, которое создает мое приложение.

Ответы на вопрос(1)

Ваш ответ на вопрос