問題タブ [multiple-monitors]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - .NET で表示数が変化したときのイベントは?
ラップトップをドッキング ステーションに入れ、デュアル モニターが起動したときなど、接続されているディスプレイの数が変化したときに、いくつかの内部データ構造を更新する必要があるプログラムがあります。
この点に関するいくつかの質問:
- .NET にそのようなイベントはありますか?
- そうでない場合、聞くことができる Windows メッセージはありますか?
- Screen.AllScreensは更新されますか?
- イベントをキャッチする前に更新されますか? またはその後?それとも不確定ですか?
問題があるとすれば、これは .NET 3.5 と C# です。
silverlight - Silverlight - Out of Browser アプリケーションでのデュアル スクリーン
それぞれ独自の画面に 2 つのウィンドウを持ち、これら 2 つのウィンドウが通信できるSilverlightの「ブラウザ外」アプリケーションを作成する方法はありますか?
どうやらSilverlight 4では、「開始位置、サイズ、クロムなどのウィンドウ設定を含むUIの側面を制御する」ことができるため、各画面にウィンドウを自動的に配置することはそれほど大きな問題ではありません...主な問題は通信です。
.net - モニターの追加または削除をリッスンするにはどうすればよいですか?
Windows では、モニター (物理ディスプレイ デバイス) が追加/削除/取り外し/解像度の変更などをいつ確認できますか? EnumDisplayDevices() をポーリングしたくありません。
windows - ワークステーションがロックされてからロック解除されたときにウィンドウのサイズ変更を防ぐにはどうすればよいですか?
マルチモニター環境で実行されるアプリケーションがあります。ユーザーは通常、アプリケーションダイアログを複数のmointorにまたがるように広げます。
ユーザーがワークステーションをロックしてからロックを解除すると、アプリケーションはサイズを変更するように指示されます。
ユーザーは、以前のレイアウトの復元に時間を費やすため、この動作に苛立ちを感じます。
サイズ変更を要求しているのがグラフィックスドライバーなのか、Windowsなのかはまだわかりません。うまくいけば、この質問を通して、どのコンポーネントが責任があるのかが明らかになるでしょう、
(ファイル)エクスプローラーやFirefoxなどの一般的なアプリケーションは、このセットアップでも同じように動作します。ちょうど複製するには:
- エクスプローラーを開く(
Win+E
)- エクスプローラウィンドウを1画面よりも水平方向に大きくなるようにドラッグします
- ワークステーションをロックする(
Win+L
)、 - ロックを解除する
- これで、アプリケーションのサイズが1画面のみに変更されます。
ワークステーションがロックされてからロック解除されたときにウィンドウのサイズ変更を防ぐにはどうすればよいですか?
(ロック解除)ロックのチェックをコーディングする必要がありますか?
私たちが気付いていない別のメカニズムはありますか?
windows-vista - Vista で Aero をオフにすると動作がおかしくなる
Aero が無効になっているマシンで実行する必要がある directx9 アプリケーションがあります。アプリはウィンドウ モードで実行されます。ウィンドウが最初に作成されたときは、1 つの画面内で問題なく表示されます。同じグラフィックス アダプター (および GPU) に接続された 2 つの画面にまたがるようにウィンドウを移動すると、一方の画面の領域が他方の画面の領域を反映しているように見えます。異なるグラフィックス アダプタに接続された 2 つの画面にまたがっても、問題はありません。
これは、2009 年 8 月の DirectX SDK の「チュートリアル 2: 頂点」など、標準のウィンドウ アプリで簡単に複製できます。
ウィンドウ化された OpenGL アプリケーションでも同じ問題が発生します。
Windows が Aero を有効にして実行されている場合、これは問題ではありませんが、Aero を無効にしてアプリケーションを実行する必要があります。(Aero は、実際のアプリケーションで他の問題を引き起こします。GPU で実行している処理が原因で、予期しないタイミングで独自のバックバッファーをフリップし、レンダリング スレッドで検出できない方法でディスプレイの滑らかさを台無しにします。)
nVidia Quatro 4800 グラフィックス カードを搭載した Windows Vista Enterprise x64 を実行しています。
--そして、nVidia コントロール パネルで 90 度回転した画面を使用する場合にのみ、これが問題になることに気付きました。そうですか…それで?回転した画面を使用する場合、誰かが解決策を提案できますか?
何か案は?
c# - Windowsスクリーンセーバーマルチモニターの問題
私が書いたシンプルなスクリーンセーバーがあり、これは当社のすべてのクライアントPCに展開されています。
ほとんどのPCにはデュアルモニターが搭載されているため、スクリーンセーバーが両方のディスプレイで実行されるように注意しました。
これは正常に機能しますが、プライマリ画面が(左側のモニターに)スワップされている一部のシステムでは、スクリーンセーバーは左側(プライマリ)画面でのみ機能します。
問題のあるコードは以下のとおりです。誰かが私が間違ったことをしたこと、またはこれを処理するためのより良い方法を見ることができますか?
参考までに、「これ」のコンテキストは、スクリーンセーバーフォーム自体です。
wpf - WPF マルチモニターの問題 - WindowState
しばらくの間、WPF アプリケーションを複数のモニターにまたがらせようとしてきましたが、ほぼ機能しています。
次の行を設定すると、問題が発生するようです。
これにより、アプリケーションはプライマリ画面のみにまたがります。
私のコードは次のとおりです。
そして、ウィンドウ 1 の内部:
この例は機能しますが、ウィンドウは最大化されておらず、アプリケーションの境界線がまだ表示されています。
Application_Startup に最大化された減速を含めると、モニターがプライマリ モニターに最大化されます。
どうしてこれなの?
java - マルチモニターの中央のJavaスプラッシュ画面
SplashScreenクラスを使用してJavaアプリケーションのスプラッシュ画面を作成しています。問題は、マルチモニターシステムでの位置が定義されていないことです。ドキュメントには、「マルチモニターシステムでの位置は指定されていません。プラットフォームと実装に依存します」と記載されています。このアプリケーションはマルチモニタープラットフォームでのみ使用される予定であり、常にいずれかの画面の中央に配置されるようにしたいと思います。これを達成する方法はありますか?このアプリケーションはLinuxでのみ使用されるため、プラットフォームはどこでも同じです。
windows-7 - 複数のモニターで使用する2番目のタスクバーをどのように作成しますか?
私は最近2台目のモニターを手に入れ、タスクバーを2台目のモニターに拡張する可能性を提供するソフトウェアを探していました。UltraMonやMultiMonなどのソフトウェアはそのような可能性を提供します。
彼らがtasbarを複製するために使用している方法を知りたいのですが?より正確に:
- 2番目のタスクバーはソフトウェアによって完全に生成および管理されていますか、それともWindowsの動作の拡張/変更のようなものですか?
- ウィンドウハンドルの追加ボタンはどのように追加されますか?Stardockと同様のテンプレートシステムはありますか?
- タスクバーの感触をどのように再現できますか?
- 開いているソフトウェアアイコンをメインタスクバーから削除して、ソフトウェアのタスクバーに移動するにはどうすればよいですか?
- 2番目のスタートボタンを作成することは、実際にはそのボタンのある種のイメージであり、ソフトウェアはWindows APIへの可能な呼び出しを行う必要がありますか?(おそらく、そのような呼び出しが存在するかどうかはわかりません)
最後に、そのようなソフトウェアをプログラムするために必要な知識の分野を知りたいと思います。
回答につながる記事や情報へのポインタを受け取っていただければ幸いです。喜んで共有していただける深い知識をお持ちでしたら、本当にありがたいです。
返信ありがとうございます。
c++ - QT /c++を歌って2番目の画面にダイアログ/フレームをフルスクリーンで表示する
他のモニター(メインアプリがオンになっていないモニター)にフルスクリーンで表示されるセカンダリビューを備えたアプリケーションがあります。
フレームの表示は非常にうまく機能しますframe.showFullScreen();
しかし、どの画面に表示する必要があるかをどのように判断できますか?2番目の画面が利用可能かどうかを検出する方法もありますか?