我的应用程序是另一个应用程序的自动化。
我想将光标移动到屏幕上的特定位置。 我遇到的问题是,当wpf应用程序不是前台应用程序时,光标不会移动。 因此,基本上,我正在尝试进行自动化的应用程序显示给用户,我希望在后台有一个自动移动光标的进程。
Process[] processes = Process.GetProcessesByName("notepad");
foreach (Process proc in processes)
{
IntPtr handle = proc.MainWindowHandle;
RECT Rect = new RECT();
GetWindowRect(handle, ref Rect);
if (Rect.left == 0 || Rect.right == 0 || Rect.top == 0 || Rect.bottom == 0)
continue;
Int32 Y = Rect.top + 50;
Int32 X = (Rect.right - Rect.left) / 2;
POINT p = new POINT();
p.x = X;
p.y = Y;
ClientToScreen(handle, ref p);
SetCursorPos(p.x, p.y);
}
仅当wpf应用程序是当前显示在屏幕上的应用程序时才有效。