获取鼠标位置
[void][reflection.assembly]::Load('System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089')
$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
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"
if ($notMove){
Click-MouseButton "right"
}
$oriPosition = $mousePosition
}