魔界の仮面弁士さん、お世話になります > Screen.AllScreens のことでしょうか。 失礼しました、Screen.AllScreens です > 「2の画面」の「2」というのは、Screen から得た情報なのではなく、 > 別の方法(たとえば画面のプロパティ)から得た情報だったりはしませんか? ディスプレイは2台ですが、左側に1番、右側に2番を配置しています [画面1][画面2] メインディスプレイは1番に設定しています この場合、1番の座標が X=0 Y=0 、2番の座標は X=1920 Y=0 になると思いますが Screen.AllScreens で取得した座標は、1番と2番が入れ替わっていました > 再起動等を行ったわけでも無いのに、実行するたびに > DeviceName と GetBounds/GetWorkingArea の組み合わせが > 変わってしまうということですか? プログラムを実行するたびに、位置関係が変わることはありません PCを止めて、ディスプレイケーブルを接続する位置を替えると、 画面に表示される識別番号が変わってきますが、接続する順番次第では、 それぞれ正しい座標で認識されます > 先に提示した方法を使った、3 種類の比較コードを書いてみました お手数おかけしました、ありがとうございます さっそく実行してみたところ、3種類の結果は、すべて同じ座標になりました どの方法でも、X,Y の座標が入れ替わっていました Screen.AllScreens #0 DISPLAY1 X=1920 Y=0 W=1920 H=1080 #1 SISPLAY2 X=0 Y=0 W=1920 H=1080 EnumDisplayMonitors #0 DISPLAY1 X=1920 Y=0 W=1920 H=1080 #1 SISPLAY2 X=0 Y=0 W=1920 H=1080 EnumDisplayDevices + EnumDisplaySettings #0 DISPLAY1 X=1920 Y=0 W=1920 H=1080 #1 SISPLAY2 X=0 Y=0 W=1920 H=1080 サイズを縮小しても、スクリーンショットが貼りつけられませんでした [画面1][画面2] の順で並び、メインディスプレイは1に設定しています