2

VGA ポートと HDMI ポートを備えたノートブックを持っています。したがって、最大で3つのディスプレイを切り替えることができます。2 つのディスプレイが同時にアクティブになります。

Windows API または .NET フレームワークを使用して、アクティブなディスプレイをプログラムで切り替える方法を見つけようとしました。しかし、それは不可能のようです。WWW の他のフォーラムの投稿によると、これは、グラフィック カードに属するライブラリ、たとえば「AMD Display Library」(ADL) や nVidia デバイス用の NVAPI を使用することによってのみ実現できます。

しかし、プログラミングインターフェイスはありませんが、Windowsがシステム設定でモニターを切り替えるための設定をどのように提供できるのだろうか。Windows も ADL / NVAPI を使用していますか?

編集

Deanna がコメントで指摘したように、アクティブなディスプレイを切り替えるための文書化された API はおそらくありません。ディスプレイ ドライバーの開発者は、どのようにしてドライバーの開発方法を知ることができますか? そのようなものを公開しない理由は何でしょうか?

4

1 に答える 1

2

これは、使用するモニターを選択するために使用EnumDisplayDevicesしてChangeDisplaySettingsEx渡すことができるはずです。CDS_SET_PRIMARYこれが私が知らない最高のインターフェースを提供するかどうか。それ以外の場合は、ここにリストされている複数のモニターで WDDM ドキュメント、 COM ドキュメント、またはD3D によって公開されIViewHelperているユーザー モードディスプレイ構成 APIを掘り下げる必要があります。

しかし、プログラミングインターフェイスはありませんが、Windowsがシステム設定でモニターを切り替えるための設定をどのように提供できるのだろうか

Windows では、ディスプレイ ドライバーは特定の機能を公開し、Windows カーネルが使用する低レベル API を実装して、カーネルがそのようなタスクを簡単に実行できるようにする必要があることに注意してください。

ディスプレイ ドライバーの開発者は、どのようにしてドライバーの開発方法を知ることができますか? そのようなものを公開しない理由は何でしょうか?

彼らは専用の DDK を利用できます* ([ XDDM | WDDM ] は、ディスプレイ ドライバーの作成に関する MSDN ドキュメントです)。モニター出力を簡単に交換するために必要な種類の API は、おそらく公開されていません。それを必要とする人はほとんどいないためです。したがって、一般的に使用されるセクションのバグを修正するために時間とお金を費やすことになります。

*パブリック DDK にはディスプレイ ドライバーの実装用に 3dlabs の古いサンプルがいくつかあり、オンライン ドキュメントはかなり包括的ですが、完全なディスプレイ ドライバーを作成することは主要な作業であり、MS からの直接のサポートが必要になる可能性が高いと思います。 、おそらく MS ISV またはハードウェア パートナーである必要があります。

于 2012-02-26T15:16:26.703 に答える