获取调用窗口的窗口句柄

时间:2010-03-09 14:55:32

标签: c# dll window handle

有一个软件在我的C#dll中调用一个方法。在这个dll方法中,我需要有程序/窗口的窗口句柄来调用我的dll。

如何获得这个“调用窗口句柄”?

谢谢!

2 个答案:

答案 0 :(得分:2)

你不能:windows不调用方法,代码调用方法。

理想情况下,您应该为方法添加一个窗口句柄参数。如果这是绝对不可能的,您可以使用GetActiveWindow API函数来使当前线程上的窗口处于活动状态。这不能保证工作;也许没有窗户打开。

你需要什么窗口句柄?

答案 1 :(得分:2)

这可以返回主窗口句柄。

System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle

据我所知,没有办法得到一个具体的窗口,因为它只不过是Form对象。 但是Form类有一个属性Handle。您可以将它作为参数传递给dll方法调用。