Обнаружение MessageBox, созданных сторонними DLL - PullRequest
0 голосов
/ 26 февраля 2012

Я загружаю сторонние библиотеки DLL, и иногда они открывают окна MessageBox, которые останавливают поток приложения, я хочу иметь возможность определять, когда такое происходит.

Я пытаюсь использовать SetWindowsHookEx с WH_CBT но мой обратный вызов не вызывается.

Я пытался назвать его так:

SetWindowsHookEx (WH_CBT, myCallback, NULL, 0);

Но это не сработало.

Что должнобыть правильным вызовом для этой функции?

1 Ответ

0 голосов
/ 27 февраля 2012

Вы можете использовать сообщение WM_ENTERIDLE, чтобы определить, есть ли какое-либо окно MessageBox, просто проверьте с помощью FindWindowEx ().

Это C #, но идея не меняется: http://social.msdn.microsoft.com/forums/en-US/winforms/thread/d3f89686-e4d0-4bb1-9052-31abef2a9d2a

...