C# - Определите, перемещает ли пользователь окно

не повреждает использовать оба AppDomain. CurrentDomain. Приложение UnhandledException. ThreadException

, но имеет в виду, что исключения на вторичных потоках не пойманы этими обработчиками; используйте SafeThread для вторичных потоков в случае необходимости

5
задан Luke 21 November 2009 в 22:43
поделиться

2 ответа

here is a technique to spy on window handles. You can inspect all the handles which are open and wait for the move messages.

EDIT

.NET spy code.

4
ответ дан 13 December 2019 в 22:10
поделиться

Чтобы получать уведомления для всех окон, а не только для Windows Forms, вам необходимо использовать ловушку, установленную функцией API SetWindowsHookEx (). Вам понадобится ловушка WH_CALLWNDPROC , чтобы вы могли видеть сообщение WM_MOVE, которое Windows отправляет окну.

К сожалению, это глобальная ловушка. Код, реализующий обратный вызов ловушки, должен быть упакован в DLL, чтобы его можно было внедрить во все целевые процессы. Это пробивает ваши планы по использованию C # для этого, вы не можете внедрить CLR. DLL должна быть написана в неуправляемом коде.

Этот проект кода предлагает подход, включая неуправляемую внедряемую DLL, которая вам понадобится.

6
ответ дан 13 December 2019 в 22:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: