- 2026-06-30 (Tue) 20:10
- 一般
PowerShell が色々できそうなのでマウスのクリックイベント発行とかもできると自動化が捗るかなと思って調べてたら,Gemini が user32.dll の関数呼んじゃうコードを出してきた:
$Signature = @'
[DllImport("user32.dll")]
public static extern void mouse_event(int dwFlags, int dx, int dy, int dwData, int dwExtraInfo);
'@
$App = Add-Type -MemberDefinition $Signature -Name "Win32MouseEvent" -Namespace "Win32Functions" -PassThru
$MOUSEEVENTF_LEFTDOWN = 0x02
$MOUSEEVENTF_LEFTUP = 0x04
$App::mouse_event($MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
$App::mouse_event($MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
DLL 呼べるならもはや何でもできるんじゃね? これが標準搭載のスクリプト言語でできるってのは便利だなぁ.
なお,マウス座標を移動するのは素直にできるっぽい:
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point(500, 400)
- Newer: ことはじめ