Закрыть приложение при его повторном запуске, оставив копию WINAPI
Ни как не могу закрыть основное окно при его повторном запуске. Вот код закрытия окон:
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
hInst = hInstance; // Store instance handle in our global variable
HWND fWnd = FindWindow(szWindowClass, szTitle);
if (!fWnd)
{
HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr);
if (!hWnd)
{
return FALSE;
}
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
return TRUE;
}
else
{
HWND hWnd2 = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr);
if (!hWnd2)
{
return FALSE;
}
ShowWindow(hWnd2, nCmdShow);
UpdateWindow(hWnd2);
int msgboxID = MessageBox(
NULL,
(LPCWSTR)L"Приложение открыто заново!",
(LPCWSTR)L"Warning",
MB_ICONWARNING | MB_OKCANCEL
);
switch (msgboxID)
{
case IDCANCEL:
DestroyWindow(hWnd2);
break;
case IDOK:
int msgboxID2 = MessageBox(
NULL,
(LPCWSTR)L"Приложение закрыто!",
(LPCWSTR)L"Warning",
MB_ICONWARNING | MB_OKCANCEL
);
DestroyWindow(fWnd);
break;
}
return TRUE;
}
}
Надеюсь на Вашу помощь)