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