如何在另一个进程中确定WPF窗口控件的位置?以下代码返回source = null,因此我无法遍历所有控件来查找和确定控件位置。
Process[] procs = Process.GetProcesses();
foreach(Process p in procs)
{
if (p.MainWindowHandle != null)
{
StringBuilder sb = new StringBuilder(257);
RealGetWindowClass(p.MainWindowHandle, sb, 256);
if(sb.ToString().StartsWith("HwndWrapper"))
{
System.Windows.Interop.HwndSource source = System.Windows.Interop.HwndSource.FromHwnd(p.MainWindowHandle);
EnumVisual(source.RootVisual);
}
}
}
答案 0 :(得分:0)
我正在使用Project White进行自动化。有了这个项目,你可以找到WinForms和WPF窗口并访问它们的属性,看看吧!这样您就不需要使用低级Windows API。