В моем приложении C # WPF.
Я устанавливаю хук в окне. Инициализированный обратный вызов:
[DllImport("user32.dll")]
static extern IntPtr SetWinEventHook(uint eventMin, uint eventMax, IntPtr hmodWinEventProc, WinEventDelegate lpfnWinEventProc, uint idProcess, uint idThread, uint dwFlags);
IntPtr hookHandle = SetWinEventHook(EVENT_MIN, EVENT_MAX, IntPtr.Zero, TestCallback, 0, 0, WINEVENT_OUTOFCONTEXT | WINEVENT_SKIPOWNPROCESS | WINEVENT_SKIPOWNTHREAD);
и я регистрирую сообщение в обратном вызове
private void TestCallback(IntPtr hWinEventHook, uint eventType, IntPtr hwnd, int idObject, int idChild, uint dwEventThread, uint dwmsEventTime)
{
SetStatus("The eventType is: " + eventType);
}
Однако всякий раз, когда я наводю курсор мыши на пробел в моем окне WPF.
События прекращают отправку полностью.
На возможно не связанной ноте я получил
Ссылка на объект не установлена для экземпляра объекта
Иногда необработанное исключение в одной из системных библиотек.
Почему при наведении мыши происходит сбой победного крючка?
Моя конечная цель - получать событие при каждом создании / отображении нового окна на рабочем столе, чтобы мне не приходилось опрашивать его в цикле, который занимает много ресурсов ЦП.