2 zhaojunv3 zhaojunv3 于 2014.11.17 13:49 提问

.net中如何获取同名窗口的句柄

在.net中可以通过引用win32的FindWindow()获取一个打开程序的窗口句柄!
可是问题来了,如果一个程序有两个实例,且窗口名称完全相同,怎么才来获取这两个
窗口的句柄?

2个回答

caozhy
caozhy   Ds   Rxr 2014.11.18 16:34

也可以使用EnumWindows遍历并且判断。

findcaiyzh
findcaiyzh   Rxr 2014.11.18 10:10

使用FindWindowEx API.

HWND WINAPI FindWindowEx(
In_opt HWND hwndParent,
In_opt HWND hwndChildAfter,
In_opt LPCTSTR lpszClass,
In_opt LPCTSTR lpszWindow
);

找第一个实例的时候hwndParent和hwndChildAfter都是null.
找下一个实例的时候hwndParent是Null, hwndChildAfter是第一次调用的返回值。

参考:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms633500(v=vs.85).aspx

Csdn user default icon
上传中...
上传图片
插入图片