ゲームのユーザーフレンドリーな設定をロードする際に問題が発生しました。
私がやろうとしていること:
すべてのモニターの名前を区別できる方法で読み込もうとしています。
私が試したこと:
wmic:
C:\Users\Matt>wmic
wmic:root\cli>DESKTOPMONITOR
Availability Bandwidth Caption ConfigManagerErrorCode ConfigManagerUserConfig CreationClassName Description DeviceID DisplayType ErrorCleared ErrorDescription InstallDate IsLocked LastErrorCode MonitorManufacturer MonitorType Name PixelsPerXLogicalInch PixelsPerYLogicalInch PNPDeviceID PowerManagementCapabilities PowerManagementSupported ScreenHeight ScreenWidth Status StatusInfo SystemCreationClassName SystemName
8 Generic PnP Monitor 0 FALSE Win32_DesktopMonitor Generic PnP Monitor DesktopMonitor1 (Standard monitor types) Generic PnP Monitor Generic PnP Monitor 96 96 DISPLAY\LGD02DA\4&265EFD6&0&UID67568640 OK Win32_ComputerSystem ALIENWARE
3 Generic PnP Monitor 0 FALSE Win32_DesktopMonitor Generic PnP Monitor DesktopMonitor2 (Standard monitor types) Generic PnP Monitor Generic PnP Monitor 96 96 DISPLAY\SAM08D6\5&14F3DA9&0&UID1078064 1080 1920 OK Win32_ComputerSystem ALIENWARE
wmic:root\cli>DESKTOP
BorderWidth Caption CoolSwitch CursorBlinkRate Description DragFullWindows GridGranularity IconSpacing IconTitleFaceName IconTitleSize IconTitleWrap Name Pattern ScreenSaverActive ScreenSaverExecutable ScreenSaverSecure ScreenSaverTimeout SettingID Wallpaper WallpaperStretched WallpaperTiled
1 500 TRUE Segoe UI 9 TRUE NT AUTHORITY\SYSTEM (None) FALSE FALSE
1 530 TRUE 43 Segoe UI 9 TRUE Alienware\Matt 0 FALSE 0 C:\Users\Matt\Pictures\Wall Papers\daftpunk3.png TRUE FALSE
1 500 TRUE Segoe UI 9 TRUE .DEFAULT (None) FALSE FALSE
GraphicsEnvironment (Java コード):
final GraphicsEnvironment environment = GraphicsEnvironment.getLocalGraphicsEnvironment();
for (GraphicsDevice device : environment.getScreenDevices()) {
System.out.println(device);
System.out.println("\t" + device.getIDstring());
System.out.println("\t" + device.getType());
}
出力:
D3DGraphicsDevice[screen=0]
\Display0
0
null
D3DGraphicsDevice[screen=1]
\Display1
0
null
D3DGraphicsDevice[screen=2]
\Display2
0
null
私が期待していること:
Screen[0]: S23C350
Screen[1]: Mobile PC Display
Screen[2]: S23B350
3台のモニターを持っています。これらの名前はそれぞれ、「画面の解像度」コントロール パネルから取得した名前です。
追加:
これで達成しようとしているもう1つのことは、画面の向きを伝えることができることです。私が見たところによると、横向き、縦向き、横向き (反転)、縦向き (反転) のいずれかです。次に、ゲームをランドスケープでのみ実行したいと思います-反転するかどうか。
2 つの主なタイプを区別できるようになることが、次のステップになるでしょう。
これをお読みいただきありがとうございます。事前にこの質問について不明確な点がある場合はお詫び申し上げます。
私はレジストリ アクセスと可能な dll 実装を使用する準備ができているので、その場合に備えてそれらにタグを付けることにしました。