Любая высокоуровневая библиотека или фреймворк для перехвата всех событий в приложении на C #? - PullRequest
0 голосов
/ 01 ноября 2010

Я знаю, что есть перехват в Win32, но мне не нужно перехватывать всю систему, и это низкий уровень.

То, что я хочу, это нечто вроде Wordpress Framework, но для Winform, который позволяет мне перехватывать все событияв моем собственном приложении, например, обнаружение всех оставленных текстовых полей или закрытие всех форм.

Существует ли это?Возможно ли это технически или только Microsoft может сделать это в .NET версии XX?

Ответы [ 2 ]

2 голосов
/ 04 ноября 2010

Взгляните на ManagedSpy . Это приложение, очень похожее на Spy ++, но для управляемых приложений. Он появился в выпуске журнала MSDN несколько лет назад.

Когда вы запускаете ManagedSpy, вы можете присоединить его к работающему процессу .Net. Он будет отражать сборки и находить все виды событий (есть некоторая фильтрующая способность видеть только определенные события), затем он присоединяется к ним и выводит последовательность их запуска.

Существует также исходный код для ManagedSpy , чтобы вы могли видеть, как они работали, и использовать эти идеи для создания того, что вам нужно.

0 голосов
/ 04 ноября 2010

Нет простого способа сделать это, как я знаю.Существуют внешние инструменты, которые могут помочь (например, Spy ++), но я полагаю, что они работают на уровне сообщений Windows, а не на уровне событий .NET.

Если вам действительно нужен такой уровень мониторинга в вашем приложении,вам нужно будет зарегистрировать обработчики событий для каждого объекта, который вы хотите отслеживать.Вы можете написать код, который обходит дерево элементов управления для каждого Form и регистрирует их события, чтобы вы могли запускать его при запуске после создания форм.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...