Безопасно ли использовать UnregisterClass() внутри цикла сообщений? [дубликат]C++

Программы на C++. Форум разработчиков
Anonymous
Безопасно ли использовать UnregisterClass() внутри цикла сообщений? [дубликат]

Сообщение Anonymous »

Я создаю небольшой автономный класс Dialog. Я не могу найти документацию по UnregisterClass() относительно того, когда безопасно вызывать эту функцию.
Согласно документации:

Перед вызовом этой функции приложение должно уничтожить все окна, созданные с помощью указанного класса.

Хорошо, это безопасно вызвать эту функцию из цикла обработки сообщений?

Код: Выделить всё

LRESULT CALLBACK CustomDialog::DialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_CREATE:
{
HWND OkButton = CreateWindowEx(NULL, L"BUTTON", L"Okay", WS_CHILD | BS_DEFPUSHBUTTON | WS_VISIBLE, 50, 50, 60, 26, hwnd, reinterpret_cast(ButtonId), Instance, nullptr);
SetWindowFont(OkButton);
break;
}
case WM_COMMAND:
{
if (LOWORD(wParam) != ButtonId)
break;
}
[[fallthrough]];
case WM_CLOSE:
{
EnableWindow(OwnerWindow, true);
SetFocus(OwnerWindow);
DestroyWindow(DialogWindow);
break;
}
case WM_NCDESTROY:
{
UnregisterClass(DialogClassAtom);          //   

Подробнее здесь: [url]https://stackoverflow.com/questions/78701596/is-it-safe-to-unregisterclass-inside-the-message-loop[/url]

Вернуться в «C++»