画面解像度の取得 質問する

画面解像度の取得 質問する

アプリケーションを使用して画面解像度を変更する必要があります。

方法:

  1. 現在の解像度を読む
  2. アプリケーションを使用して変更し、終了時に現在の状態に戻ります。

ありがとう、フルカン

ベストアンサー1

1) 現在の画面解像度を確認するにはどうすればいいですか?

現在の画面解像度を取得するのは簡単で、APIのようなものを掘り下げなくてもフレームワークに組み込まれていますGetSystemMetricsScreenクラスには、システムに接続されているすべてのディスプレイ デバイスに関する情報が含まれています。したがって、プライマリ モニターの解像度を確認するには、次のようなものを使用できます。

 Dim screenWidth as Integer = Screen.PrimaryScreen.Bounds.Width
 Dim screenHeight as Integer = Screen.PrimaryScreen.Bounds.Height

複数のモニターを扱うには、Screen.AllScreensプロパティを調べます。このプロパティは、システムに接続されている各ディスプレイに対応するオブジェクトの配列を返します。その後、(上記のコードを使用して)オブジェクトScreenの配列をループ処理することで、コンピューターに接続されている各ディスプレイの解像度を判断できます。Screen

2) VB.NET アプリケーションから現在の画面解像度を変更するにはどうすればよいですか?

画面解像度の変更はもう少し難しいです。先に進む前に、ユーザーのディスプレイ解像度を調整するアプリケーションは予期せず、潜在的に敵対的なユーザー環境を作り出す. 画面の解像度を許可なく変更するアプリケーションは使わないでしょうし、許可なしに変更しなければならないアプリケーションを使うかどうかも慎重に考えるでしょう。スクリーン セーバーを作成しようとしているのであれば、おそらく、もっと良い簡単な方法があるでしょう。そうは言っても、Windows API からいくつかの関数を P/Invoke する気があれば、VB.NET から実行できます。

モニターが1台だけの場合に最も簡単な方法は、ChangeDisplaySettingsこの機能を使用すると、デフォルトのディスプレイ (ユーザーのプライマリ モニターのみ) のグラフィック モードを指定できます。

複数のモニターを扱うには、EnumDisplayDevicesコンピュータに接続されているすべてのディスプレイデバイスに関する情報を取得する機能と、ChangeDisplaySettingsEx特定の画面を変更する機能。

チェックアウトピンボークVB.NETでWindows API呼び出しのシグネチャを宣言する方法については、Googleで検索するとこのスレッドただし、提供されているサンプル コードは検証していません。

アプリの実行中にのみ画面解像度を変更し、ユーザーがプログラムを終了したときにそれを復元するには、変更する前に現在の画面設定を保存し、アプリケーションの終了時に (同じメソッド呼び出しを使用して) それを復元する必要があります。

おすすめ記事