我正在监视Windows计算机上的进程活动。我从MSDN获得了一个有用的链接,说有重要的Events to Monitor信息,我开始使用WINAPI调用构建一小段代码-SetWinEventHook下面的代码
但是使用此方法,当遇到那些在该链接Events to Monitor上列出的事件时,我将无法控制。>
任何人都可以提出建议,为什么我无法收到这些提及的事件
LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
{
switch (iMsg)
{
case WM_CREATE:
{
HWINEVENTHOOK st;
// EVENT_SYSTEM_MENUSTART
st = SetWinEventHook(0x44E, 0x44E, NULL, WinEventProc, 0, 0, WINEVENT_SKIPOWNPROCESS);
break;
}
case WM_SHOWWINDOW:
{
//MessageBox(hwnd, L"WM_SHOWWINDOW", L"Message", MB_OK);
break;
}
case WM_DESTROY:
{
PostQuitMessage(0);
ExitProcess(0);
break;
}
}
return DefWindowProc(hwnd, iMsg, wParam, lParam);
}
void CALLBACK WinEventProc(HWINEVENTHOOK hWinEventHook, DWORD event, HWND hwnd, LONG idObject, LONG idChild, DWORD idEventThread, DWORD dwmsEventTime)
{
char buffer[100] = {"\0"};
sprintf_s(buffer, "Event [%d]\n Handle [%p]\n idEventThread [%d]\n EventTime [%d]", event, hwnd, idEventThread, dwmsEventTime);
MessageBoxA(hwnd, buffer, "Message", MB_OK);
}
我正在监视Windows计算机上的进程活动。我从MSDN获得了一个有用的链接,其中说出了要监视的重要事件,并使用此信息开始使用WINAPI ...
SetWinEventHook:在以下范围内设置事件挂钩功能事件。