有一个软件可以调用我的 C# dll 中的方法。在这个 dll 方法中,我需要拥有调用我的 dll 的程序/窗口的窗口句柄。
如何获得这个“调用窗口句柄”?
谢谢!
你不能:windows不调用方法,代码调用方法。
理想情况下,您应该在方法中添加一个窗口句柄参数。如果这绝对不可能,您可以使用GetActiveWindow
API 函数让窗口在当前线程上处于活动状态。这不能保证有效;也许没有窗户打开。
你需要窗户把手做什么?
这可以返回主窗口句柄。
System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle
据我所知,没有办法获得一个具体的窗口,因为它只不过是 Form 对象。但是 Form 类有一个属性Handle
。您可以将其作为参数传递给 dll 方法调用。