Закрыть приложение при его повторном запуске, оставив копию 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;
    }
}

Надеюсь на Вашу помощь)


Ответы (0 шт):