はじめに
デュアルディスプレイ環境で10秒間マウスの移動範囲をディスプレイ2に制限するプログラムを書きます。
プログラム
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing
# カーソルの移動範囲をディスプレイ2に制限
$all_screens = [System.Windows.Forms.Screen]::AllScreens
$display2_workingarea = $all_screens.Where({$_.DeviceName.Contains('DISPLAY2')}).WorkingArea
[System.Windows.Forms.Cursor]::Clip = $display2_workingarea
Sleep 10
# カーソルの移動制限を解除
[System.Windows.Forms.Cursor]::Clip = [System.Drawing.Rectangle]::Empty;
解説
まとめ
同様の動きをするフリーソフトは巷に溢れていますが、意外と自作プログラムでも数行で実装できました。