質問編集履歴

1

System.Windows.Formsを試した

2023/08/08 14:47

投稿

namari
namari

スコア11

test CHANGED
File without changes
test CHANGED
@@ -1,8 +1,8 @@
1
1
  ### 実現したいこと
2
2
 
3
- 現在位置を「モニター」上での座標に変換したい。
3
+ ある特定のウィンドウ座標を「モニター」上での座標に変換したい。
4
4
  スクリーン座標やワールド座標ではなく、タスクバーなど含むモニター全体において左下を(0,0)とした場合のモニターにおける座標を取得したい。
5
- 現在位置がマルチディスプレイにおけるどのディスプレイの上にあるかを判定したい。
5
+ ある特定のウィンドウ座標がマルチディスプレイにおけるどのディスプレイの上にあるかを判定したい。
6
6
  ・現在判定中のディスプレイの解像度を取得したい。
7
7
 
8
8
  ### 前提
@@ -12,7 +12,13 @@
12
12
 
13
13
  ### 試したこと
14
14
 
15
- UnityのDisplayクラスが目的に一致するものだと思ったのですがどうやらウィンドウを複数同時起動する際に使うクラスだったようですね。
15
+ UnityのDisplayクラスが目的に一致するものだと思試行錯誤
16
+ →どうやらウィンドウを複数同時起動する際に使うクラスだったよう
17
+
18
+ using System.Windows.Forms;を使ってみる
19
+ →マウスのモニター上での座標を取得するのはSystem.Windows.Forms.Cursor.Positionによって行えた。
20
+ どうやらC#におけるクライアント座標とスクリーン座標を変換することができることも判明。
21
+ しかし、「C#におけるクライアント座標とスクリーン座標」↔「Unityにおけるスクリーン座標」の変換が結局分からず頓挫。
16
22
 
17
23
  ### 補足情報(FW/ツールのバージョンなど)
18
24