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

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

使用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

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