3
我一直在研究一個需要檢測當前活動窗口並持續獲取活動窗口標題的項目。 任何人都可以解釋我如何使用SetWinEventHook()函數得到活動窗口改變了消息。 [我用GetForegroundWindow()函數與定時器來獲得活動窗口。由於計時器的原因,這種方法不太準確。所以我需要使用SetWinEventHook()函數。有人可以解釋我該怎麼做嗎? ]如何使用SetWinEventHook()函數獲取活動窗口更改消息
hEvent = SetWinEventHook(EVENT_SYSTEM_FOREGROUND , EVENT_SYSTEM_FOREGROUND ,NULL,
WinEventProcCallback, 0, 0, WINEVENT_OUTOFCONTEXT | WINEVENT_SKIPOWNPROCESS);
VOID CALLBACK WinEventProcCallback (HWINEVENTHOOK hWinEventHook, DWORD dwEvent, HWND hwnd, LONG idObject, LONG idChild, DWORD dwEventThread, DWORD dwmsEventTime)
{
/* how to get active window message */
}
這裏有很好的例子:http://blogs.msdn.com/b/oldnewthing/archive/2013/03/25/10404940.aspx http://blogs.msdn.com/b/oldnewthing/存檔/ 2011/10月26日/ 10230020.aspx – Paul