web-dev-qa-db-ja.com

外部ディスプレイの切断-再接続サイクル中に開いているウィンドウを保持するにはどうすればよいですか?

拡張モードで外部ディスプレイ(プロジェクター)を使用しています。切断して再接続すると、すべてのウィンドウがメインディスプレイに表示され、拡張ディスプレイは空になります。切断-再接続サイクルの間、すべてのウィンドウを外部ディスプレイに残したいのですが。

背景:プレゼンテーションを配信していますが、プロジェクターの入力はHDMIスイッチを介して行われるため、プロジェクターで別のフィードを表示できます。 PCから切り替えると、Windowsはそれをディスプレイの切断として扱い、ウィンドウを再配置します。それに切り替えると、プレゼンテーションが消えてしまい、ウィンドウを移動して元の場所に戻る必要があります。一般的な問題のように聞こえますが、これまでのところ、自分に役立つ解決策は見当たりません。

モニターがスリープ状態になった後に再配置されたウィンドウ(別の問題、同じ根本原因)に関連するさまざまな関連する質問を確認しましたが、解決策を機能させることができません。以下は私が検討しているすべてのオプションです。理想的には誰かが確実に機能するソリューションを共有しますが、それがない場合は、以下のオプションからいくつかのオプションを除外することは依然として役立ちます。

1)ウィンドウの自動表示検出を無効にします。

a)私が読んだこれを行う1つの方法は、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\TMMでUselViewHelperを0に設定することです。これはここで提案されました:- https://www.reddit.com/r/AMD/comments/5jlk82/how_to_prevent_windows_from_rearranging_when/ 私は私のために働いていませんでした。試して再起動すると、PCは以前と同じように動作します。

b)ケーブルが接続されている限り、WindowsがVGAポートから接続されていないモニターを自動検出しないことをどこかで読みました。これは接続されていません。 VGAダミースティックを持っていても意味がないので説得力のある音ですが、試してみます。 VGAポートがないので、VGAからHDMIへのコンバーターを注文しました。

2)外部ディスプレイをシミュレートします

仮想外部ディスプレイを追加できれば、拡張デスクトップを2つの外部ディスプレイ(プロジェクターと仮想ディスプレイ)にミラーリングしてセットアップできる可能性があります。次に、2つのミラーリングされたディスプレイの1つを切断して再接続しても、ウィンドウが再配置されないようにする必要があります。ここでの最初の問題は、拡張デスクトップを複製できるかどうかさえわからないことです。

2番目の問題は、仮想ディスプレイを追加することです。そのために、オプションのうさぎの穴を掘り下げました。

a)HDMIからVGA、次にVGAスプリッター、次にVGAダミースティックこれは、最初の問題を回避するため、比較的確実なはずです-ウィンドウは必要ありません2番目と3番目のディスプレイをミラーリングします

b)USBからVGAへ。WindowsにIS aディスプレイがVGAポートに接続されています(アダプターを注文したので、これをテストできます)

c)モバイルアプリを使用してディスプレイを電話に拡張します。例:これ: https://play.google.com/store/apps/details?id=com.devguru.eltwomonusb&hl=es したがって、この場合はゴーストディスプレイではなく、実際のディスプレイになります。デバイス-しかし、解像度はおそらく一致せず、非正統的なアプローチのために、おそらく他の問題があります。

d)ソフトウェアを使用してディスプレイを別のPCまたは他のデバイスに送信します。これは、Windows Connect、iDisplay、Airscreen、Splashtop Extended Desktop、またはその他のツールで実行できるとされています。これにより、仮想ではなく実際の追加ディスプレイが作成されます。ケーブルで接続されないだけです。

3)HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configurationの下の設定のフィジェット

ここで提案されているように、他の場所の中でも特に: スリープから復帰した後にウィンドウの再配置を停止するにはどうすればよいですか?

オンラインで説明されているSIMULATEDエントリはありませんでしたが、MSNILNOEDID ...がありました。これは同様の機能を果たす可能性があります。ノートパソコンの画面用のエントリが1つ(HHT00301 ...)、プロジェクター用のエントリが約12個あります(BOE06F90 ...)。それらはすべて、他の回答がそうあるべきだと言っているように構成されているようです:ラップトップ画面用に3840x2160、プロジェクターエントリ用に1920x1080、そして(おそらく)シミュレートされたもの。

4)ディスプレイがまだ接続されているとPCに思わせるHDMIスイッチを使用します。

そのようなデバイスが存在するかどうかはわかりません。存在する場合は、それを見つける方法がわかりません。

5)カスタムソフトウェアソリューションを使用して、プロジェクターが切断されている間、外部ディスプレイをシミュレートします。

私はここでそのような解決策の1つを見つけました: https://archive.codeplex.com/?p=persistentwindows プロジェクトは中止されましたが、コードをダウンロードすることができました。幸いなことに、これは.NETアプリであり、私は.NET開発者ですが、多くの作業のように見えます。箱から出して構築することすらできず、複雑に見え、実際に検証することはできません。作業。

1
Vroomfundel

答えはオプションです1。b)VGA出力を使用します

HDMI-VGAアダプターを挿入すると、Windowsはそれを外部モニターとして認識し、デスクトップを拡張することができます。次に、外部モニターを心ゆくまで接続解除すると、開いているウィンドウはそのまま残ります(または、私の場合は、HDMIスイッチを使用してこのビデオフィードから切り替えて、元に戻すことができます)。

そのため、HDMI出力からHDMIスイッチに直接接続する代わりに、VGA-HDMIケーブルに接続されたHDMI-VGAアダプターを使用します。ばかげてローテクな音が必要ですが、Microsoftがこのディスプレイの自動検出機能を無効にする信頼できる方法を追加するまでは機能し、その状態が続くようです。

1
Vroomfundel

PersistentWindows の最新の拡張機能を試してください

免責事項:私は拡張機能の寄稿者です

1
Kang Yu