StrokesPlus.net でウィンドウのマルチモニタ間移動
「StrokesPlus」はそこそこ情報あるのに、「StrokesPlus.net」の方は調べても全く情報が出てこなかったので久しぶりにメモ
マルチモニタ間を普通に移動させるだけ
- フォアグラウンドウィンドウを取得 - ウィンドウを前の画面に移動
シンプルに動かすだけならこれでいい
けど、タスクバーを上にしてたりするとたまに困ったことに……
なので、それを解消したスクリプトがこれ↓
前のモニタのワーキングエリア(0,0)へ移動
//最大化してたら戻す if(sp.ForegroundWindow().Maximized) { sp.ForegroundWindow().Restore(); } // アクティブなウィンドウを前のモニタに移動 sp.ForegroundWindow().MoveToPreviousScreen(); // 移動後のウィンドウを取得 var movedWnd = sp.ForegroundWindow(); // ウィンドウのスクリーン座標を取得 var screenX = movedWnd.Screen.WorkingArea.X; var screenY = movedWnd.Screen.WorkingArea.Y; // ウィンドウを指定位置に移動 movedWnd.Location = new Point(screenX, screenY);
(0,0)以外に移動させたかったら最後を
movedWnd.Location = new Point(screenX + 10, screenY + 30);
とかにすれば(10,30)に移動してくれる
プログラム全くわからんから「.Screen.WorkingArea」に辿り着くまでに相当時間かかった
https://forum.strokesplus.net/posts/t7071-Working-with-Window-Size-and-Location
↑見てもいまいちわからんかったけど、ChatGPTに解説しまくってもらってなんとなく理解できた
色々言われてるけどChatGPTマジでありがたいわ
しかし、StrokesPlus.netの日本語圏ユーザーって全然いないのかな
本当ちょっとしたことでいいんでTipsを公開してください……
StrokesPlusから移行したくても情報なさすぎてマジでつらい