void CALLBACK WinEventProc(HWINEVENTHOOK hHook, DWORD event, HWND hWnd,
LONG idObject, LONG idChild, DWORD dwEventThread,
DWORD dwmsEventTime)
{
if (event == EVENT_SYSTEM_FOREGROUND)
{
// 当前前景窗口更改,hWnd 包含新的前景窗口句柄
}
}
HWINEVENTHOOK hHook = SetWinEventHook(EVENT_SYSTEM_FOREGROUND, EVENT_SYSTEM_FOREGROUND,
NULL, WinEventProc, 0, 0, WINEVENT_OUTOFCONTEXT);
if (hHook == NULL)
{
// 注册事件钩子失败
}