MFC/MFC 코드기록

MFC 윈도우 프로그램 창 활성화 시키기

lwj789 2023. 2. 8. 11:39
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
void SetActiveWindow()
{
    HWND active_hwnd = ::GetForegroundWindow();
    if(active_hwnd != m_hWnd)
    {
        DWORD pid = GetCurrentProcessId();
        HWND cur_hwnd = FindWindowA(NULLNULL);
        while (cur_hwnd != NULL)
        {
            if (::GetParent(cur_hwnd) != NULL
            {
                DWORD idproc;
                GetWindowThreadProcessId(cur_hwnd, &idproc);
                if (pid == idproc)
                    break;
            }
            cur_hwnd = ::GetWindow(cur_hwnd, GW_HWNDNEXT);
        }
        ::ShowWindow(cur_hwnd, SW_MINIMIZE);
        ::ShowWindow(cur_hwnd, SW_RESTORE);
 
        /*::ShowWindow(cur_hwnd, SW_MINIMIZE);
        ::BringWindowToTop(cur_hwnd);
        ::SetActiveWindow(cur_hwnd);
        ::SetForegroundWindow(cur_hwnd);
        ::ShowWindow(cur_hwnd, SW_RESTORE);
        ::UpdateWindow(cur_hwnd);*/
    }
}
cs