0

如何确定 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);
                }
            }
        }
4

1 回答 1

0

我正在使用Project White进行自动化。通过这个项目,您可以找到 WinForms 和 WPF 窗口并访问它们的属性,看看吧!这样您就不需要使用低级 Windows API。

于 2012-05-22T07:51:51.277 回答