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