Данный пример демонстрирует как с помощью статического метода «mouse_event» из системной библиотеки «user32.dll», произвести программное перемещение курсора и выполнение двойного клика левой клавишей мыши по новому расположению.
Создайте проект Windows Form в Microsoft Visual Studio и добавьте в конструкторе главной формы из панели элементов, элемент управления «Button1». Сделайте двойной клик левой клавишей мыши по добавленному компоненту. Вы перейдете в автоматически созданный метод «button1_Click» события «Click». Добавьте в него приведенный ниже код, перемещающий курсор мыши в указанные координаты (X = 30, Y = 30) и выполняющий двойной клик левой клавишей мыши по новому положению.
Создайте проект Windows Form в Microsoft Visual Studio и добавьте в конструкторе главной формы из панели элементов, элемент управления «Button1». Сделайте двойной клик левой клавишей мыши по добавленному компоненту. Вы перейдете в автоматически созданный метод «button1_Click» события «Click». Добавьте в него приведенный ниже код, перемещающий курсор мыши в указанные координаты (X = 30, Y = 30) и выполняющий двойной клик левой клавишей мыши по новому положению.
//Координаты на экране: int X = 30; int Y = 30; //Перемещение курсора на указанные координаты mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE, System.Windows.Forms.SystemInformation.PrimaryMonitorSize.Width, System.Windows.Forms.SystemInformation.PrimaryMonitorSize.Height, X, Y); //Выполнение первого клика левой клавишей мыши mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, X, Y, 0, 0); //Выполнение второго клика левой клавишей мыши mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, X, Y, 0, 0);Добавьте в листинг главной формы константы и статический метод «mouse_event».
[System.Runtime.InteropServices.DllImport("user32.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto, CallingConvention = System.Runtime.InteropServices.CallingConvention.StdCall)] public static extern void mouse_event(uint dwFlags, int dx, int dy, int dwData, int dwExtraInfo); //Нормированные абсолютные координаты private const int MOUSEEVENTF_ABSOLUTE = 0x8000; //Нажатие на левую кнопку мыши private const int MOUSEEVENTF_LEFTDOWN = 0x0002; //Поднятие левой кнопки мыши private const int MOUSEEVENTF_LEFTUP = 0x0004; //перемещение указателя мыши private const int MOUSEEVENTF_MOVE = 0x0001;Для проверки работы данного примера, сверните все открытые приложения вашего компьютера и запустите данный пример. При нажатии на главной форме кнопки «Эмулировать», ваш курсор переместиться в левый верхний угол и выполнит двойной клик левой клавишей мыши. Если вы поместите ярлык «Мой компьютер» в левый верхний угол, то после эмуляции у вас откроется окно проводника Windows.
Ссылка для скачивания примера: Rusfolder.net
В примерах показывают как минимум центр экрана, а не тупо скопированный код с мсдна
ОтветитьУдалитьЗдравствуйте, не совсем понятно, что вы имеете ввиду. Пожалуйста опишите вашу проблему.
ОтветитьУдалить