powershell 获取鼠标位置 与 鼠标点击


获取鼠标位置

[void][reflection.assembly]::Load('System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089') # or Add-Type -AssemblyName System.Windows.Forms
$mousePosition = [System.Windows.Forms.Cursor]::Position	
echo $mousePosition
echo $mousePosition.X
echo $mousePosition.Y

鼠标一段事件未移动,点击右键

# 操作键盘
$wshell = New-Object -ComObject wscript.shell
# 操作鼠标
function Click-MouseButton
{
  param([string]$Button, [switch]$help)
  $HelpInfo = @'
  DDDD,BDDDBD
'@ 

  if ($help -or (!$Button))
  {
      write-host $HelpInfo
      return
  }
  else
  {
      $signature=@' 
        [DllImport("user32.dll",CharSet=CharSet.Auto, CallingConvention=CallingConvention.StdCall)]
        public static extern void mouse_event(long dwFlags, long dx, long dy, long cButtons, long dwExtraInfo);
'@ 

      $SendMouseClick = Add-Type -memberDefinition $signature -name "Win32MouseEventNew" -namespace Win32Functions -passThru 
      if($Button -eq "left")
      {
          $SendMouseClick::mouse_event(0x00000002, 0, 0, 0, 0);
          $SendMouseClick::mouse_event(0x00000004, 0, 0, 0, 0);
      }
      if($Button -eq "right")
      {
          $SendMouseClick::mouse_event(0x00000008, 0, 0, 0, 0);
          $SendMouseClick::mouse_event(0x00000010, 0, 0, 0, 0);
      }
      if($Button -eq "middle")
      {
          $SendMouseClick::mouse_event(0x00000020, 0, 0, 0, 0);
          $SendMouseClick::mouse_event(0x00000040, 0, 0, 0, 0);
      }
  }
}

# 创建窗口
Add-Type -AssemblyName System.Windows.Forms
$form = New-Object system.Windows.Forms.Form


$oriPosition = [System.Windows.Forms.Cursor]::Position
# 循环
for($index = 0;;$index++){
    echo "$index ============================================="
    Get-Date
    # sleep 240 秒
    Start-Sleep -Seconds 240
    $mousePosition = [System.Windows.Forms.Cursor]::Position
    echo $mousePosition
    echo $oriPosition
    $notMove = $oriPosition.X -eq $mousePosition.X -and $oriPosition.Y -eq $mousePosition.Y
    echo "没有移动: $notMove"
    # $wshell.SendKeys("{END}")
    if ($notMove){
        Click-MouseButton "right"
    }
    $oriPosition = $mousePosition
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值