wpf - 当应用程序不在前台时移动鼠标

时间:2016-10-23 19:18:03

标签: c# wpf winapi

我的应用程序是另一个应用程序的自动化。

我想将光标移动到屏幕上的特定位置。 我遇到的问题是,当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应用程序是当前显示在屏幕上的应用程序时才有效。

0 个答案:

没有答案