Я реализую макрос с использованием C #, позволяющий щелкать по определенной части окна. Но у меня проблема, когда есть 2 окна с одинаковым именем.
Я на самом деле использую класс WindowsMouseManagement, чтобы сделать это.
Сначала я создаю список со всеми открытыми окнами:
WindowsMouseManagement.EnumWindows(new WindowsMouseManagement.EnumWindowsProc(WindowsMouseManagement.EnumTheWindows), IntPtr.Zero);
public static bool EnumTheWindows(IntPtr hWnd, IntPtr lParam)
{
int size = GetWindowTextLength(hWnd);
if (size++ > 0 && IsWindowVisible(hWnd))
{
StringBuilder sb = new StringBuilder(size);
GetWindowText(hWnd, sb, size);
//list = list + sb;
list.Add(sb.ToString());
Console.WriteLine(sb.ToString());
}
return true;
}
И затем, чтобы получить информацию о положении окна, я использую функцию «FindWindow», например, с приложением «Калькулятор»:
WindowsMouseManagement.FindWindow(null, “calculator”)
Так что мне было интересно, есть ли какое-либо другое решение для получения информации о положении окна, используя PID или что-то еще ...