Move-Cursor



Перемещает курсор в указанные координаты
Параметры

  • -Position Координаты

  • -Handle Указатель окна, относительно которого будет перемещён курсор

  • -Event Перемещение курсора без задействования мыши, с возможностью указать перекрытое окно

  • -Hardware Выполнить действие через Arduino

  • -Wait Установить время ожидания ответа от ардуино. По умолчанию 5 секунд. Если за это время ардуино не выполнит команду и не отправит ответ о выполнении, то будет выведена ошибка.

Примеры

  1. Переместить курсор в указанные координаты

    Wake up, Neo, select all

    Move-Cursor 200, 100
  2. Переместить курсор в указанные координаты относительно окна

    Wake up, Neo, select all

    Clear-Host # очистить консоль
    $h = Find-Window -Title "блокнот" # найти окно, в имени которого есть слово блокнот
    if(!$h){ # если не найдено
    Show-MessageBox "Окно блокнота не найдено" -Icon Warning -Topmost|Out-Null # вывести сообщение
    return # остановить скрипт
    }
    Show-Window (Get-Process -Id $Pid).MainWindowHandle -State Minimize # свернуть окно powershell
    Start-Sleep 1 # пауза 1 секунду
    Move-Cursor 300, 150 -Handle $h.handle[0] # переместить курсор относительно окна
    Start-Sleep -m 1500 # пауза 1.5 секунды
    Show-Window (Get-Process -Id $Pid).MainWindowHandle -State Restore # восстановить (развернуть) окно powershell
  3. Переместить курсор в указанные координаты относительно окна без перемещения курсора

    Wake up, Neo, select all

    Clear-Host # очистить консоль
    $h = Find-Window -Title "блокнот" # найти окно, в имени которого есть слово блокнот
    if(!$h){ # если не найдено
    Show-MessageBox "Окно блокнота не найдено" -Icon Warning -Topmost|Out-Null # вывести сообщение
    return # остановить скрипт
    }
    Move-Cursor 927, 583 -Handle $h.handle[0] -Event # переместить курсор относительно окна без задействования мыши
  4. Переместить курсор. Координаты заданы объектом Point.

    Wake up, Neo, select all

    $coord = [Drawing.Point]::new(200, 100)
    Move-Cursor $coord
  5. Нарисовать круг.

    Wake up, Neo, select all

    $radius = 200 #радиус круга
    $startX = 960 # координата X
    $startY = 520 # координата Y

    for ($i=0; $i -lt 360; $i++)
    {
    $x = $startX + [Math]::Cos($i/180 * [math]::PI) * $radius
    $y = $startY + [Math]::Sin($i/180 * [math]::PI) * $radius
    Move-Cursor $x, $y
    Start-Sleep -m 1
    }

Примеры с использованием Arduino

  1. Переместить курсор.

    Wake up, Neo, select all

    Move-Cursor 200, 100 -Hardware
  2. Установить скорость перемещения курсора и переместить курсор.

    Wake up, Neo, select all

    Set-ArduinoSetting -MouseMoveDelay 3 -MouseMoveOffset 1
    Move-Cursor 100, 300 -Hardware
    Set-ArduinoSetting -Default
  3. Установить время ожидания ответа от ардуино.

    Wake up, Neo, select all

    Set-ArduinoSetting -MouseMoveDelay 3 -MouseMoveOffset 1
    Move-Cursor 1900, 1000 -Hardware -Wait 10000 # время ответа 10 секунд
    Set-ArduinoSetting -Default