如何发现正在运行的.NET WinForms应用程序的窗口所使用的DLL?
我想找到一个工具,我可以用它在一个有许多DLL的大型应用程序中指向一个特定的窗口,并发现用于呈现此窗口的DLL的路径(或至少是名称)。不确定这是否正是您要找的,但它是一个很棒的工具,它确实向您展示了任何进程,正在使用的DLL以及关于任何给定进程的大量其他信息 编辑:很抱歉,我实际上是想让您使用Process Explorer,但我将保留上面的链接,因为它也是一个很好的工具,但这正是我试图向您指出的:如何发现正在运行的.NET WinForms应用程序的窗口所使用的DLL?,.net,winforms,dll,.net,Winforms,Dll,我想找到一个工具,我可以用它在一个有许多DLL的大型应用程序中指向一个特定的窗口,并发现用于呈现此窗口的DLL的路径(或至少是名称)。不确定这是否正是您要找的,但它是一个很棒的工具,它确实向您展示了任何进程,正在使用的DLL以及关于任何给定进程的大量其他信息 编辑:很抱歉,我实际上是想让您使用Process Explorer,但我将保留上面的链接,因为它也是一个很好的工具,但这正是我试图向您指出的: 这根本不可能。窗口由窗口过程WNDPOCS呈现 这些WNDPOC可以并且总是在许多不同的DLL
这根本不可能。窗口由窗口过程WNDPOCS呈现 这些WNDPOC可以并且总是在许多不同的DLL中实现。通常,注册DLL的代码也会实现窗口过程。每当需要处理消息时,都会调用窗口过程。window过程将在switch语句中处理一些windows消息,例如。然后,对于默认系统处理足够的消息,将调用
但是
DefWindowProc
与窗口过程的其余部分位于不同的DLL(user32)中。事实上,它无疑会在各种不同的DLL中调用大量例程。为什么您认为会有一个DLL用于呈现窗口?