Как я могу обнаружить DLL, используемую окном работающего приложения .NET WinForms? - PullRequest
0 голосов
/ 24 мая 2010

Я хотел бы найти инструмент, который можно использовать для указания на конкретное окно в большом приложении со многими библиотеками DLL и определения пути (или, по крайней мере, имени) библиотеки DLL, используемой для визуализации этого окна.

Ответы [ 2 ]

1 голос
/ 10 марта 2011

Это просто невозможно. Окна отрисовываются оконными процедурами, WndProcs.

Эти WndProcs могут и неизменно реализуются во многих различных DLL. Обычно код, который регистрирует DLL, также реализует оконную процедуру. Оконная процедура вызывается всякий раз, когда сообщение должно быть обработано. Оконная процедура обработает некоторые сообщения Windows, скажем, в операторе switch. Затем для тех сообщений, для которых достаточно обработки по умолчанию, вызовем DefWindowProc.

Но DefWindowProc находится в другой DLL (user32) от остальной части оконной процедуры. В самом деле, это, без сомнения, вызовет множество подпрограмм во всевозможных разных DLL.

0 голосов
/ 24 мая 2010

Не уверен, что это именно то, что вы ищете, но это отличный инструмент, и он показывает вам, для любого процесса, какие библиотеки DLL используются, а также тонну другой информации о любом данном процессе .

Монитор процесса

РЕДАКТИРОВАТЬ: Извините, я действительно хотел направить вас в Process Explorer, но я оставлю вышеупомянутую ссылку, так как это также отличный инструмент, но это то, что я пытался указать Вы к:

Process Explorer

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