私は好奇心が強い、システム変更におけるモニターの数放送されたWin32通知は何ですか?私はそれがWM_DISPLAYCHANGEだと思ったが、私は間違っていた。モニタの数が変更されたときの通知は何ですか?
6
A
答えて
10
これはMicrosoft Spy++
に確認するのはとても簡単です。私の場合は、2台のモニターを接続し、2台目のモニターをオン/オフに切り替えてWindows 7 x64をチェックしました。モニターを取り外すときは、モニターを追加するとき
あなたはWM_DISPLAYCHANGE
を参照してくださいではなくなります。
WM_DEVICECHANGE
はDBT_DEVNODES_CHANGED
(RegisterDeviceNotification以降)と表示されます。
SPI_SETWORKAREA
とSPI_ICONVERTICALSPACING
については、WM_SETTINGCHANGE
が表示されます。
「UxdDisplayChangeMessage」と「HotplugDetected」という2つのメッセージが表示されます。 RegisterWindowMessageを使用して、これらのメッセージの識別子を取得できます。私が考えることができる
関連する問題
- 1. アンドロイドで変更が検出されたときの通知
- 2. TFSのユーザーストーリーが変更されたときに通知する
- 3. データベース内のテーブルが変更されたときの通知
- 4. ファイルが変更されたときの通知?
- 5. OpenGLコンテキストが変更されたときの通知方法
- 6. SSRS 2005 - グループが変更されたときの通知方法
- 7. 別のサービスで変更されたときの通知
- 8. gpio値が変更されたときに通知する
- 9. 通知がクリックされたときにタブバーを変更する
- 10. データベースが変更されたときに通知する
- 11. Rssファイルが変更されたときに通知する
- 12. jQueryでバックエンドデータベースの何かが変更されたときに通知を表示するには?
- 13. セッション変数が変更されたときに通知される方法はありますか?
- 14. PHP - リモートファイルが変更されたときに電子メール通知
- 15. 基になるモデルデータが変更されたときにViewModelで定義された通知プロパティの変更
- 16. Angular2 - コンポーネントが更新されたときにディレクティブに通知するためのベストプラクティスは何ですか?
- 17. 画面のサイズがangualrjsで変更されたときの通知方法
- 18. ウィンドウのサイズを変更したときに通知される正しい方法は何ですか?
- 19. 特定のファイルタイプが変更されたときにGerritに通知することはできますか?
- 20. iphone画面の向きが変更されたときの通知方法
- 21. Googleドライブ/スプレッドシート - サブフォルダ内でファイルが変更されたときのメール通知
- 22. フィールドが変更された後の表示通知(角とノード)
- 23. 人形が何かを変更したいときに通知する
- 24. ディレクトリ/ファイルが変更されたときのSolaris 9,10,11のファイルイベント通知の使用
- 25. 任意のプロパティが変更されたときのJavaFXの通知
- 26. C2DMプッシュ通知が受信されたときのアクティビティの動作の変更
- 27. Emacs - ファイルが外部で変更されたときに通知する
- 28. ノードjsでmysqlデータベースが変更されたときに通知する
- 29. Observable Collection MVVMでプロパティが変更されたときに通知する
- 30. ビューモデルのプロパティがチェックボックスの値を変更したときに通知される
エッジケースは、それを拡張するのではなく、ディスプレイのミラーリングされたモニタを追加しています。作業領域が変更されていない場合でも 'SPI_SETWORKAREA'を取得できますか? – indiv
@indivわかりません。結果は私が作成したテストからのものです。あなたはSpy ++で自分で簡単に確認できます。私が推測する必要がある場合は、I'ldはUxdDisplayChangeMessage、HotplugDetectedとWM_DEVICECHANGEを見ることを期待しますが、WM_DISPLAYCHANGEとWM_SETTINGCHANGEません。 –
@WernerHenze:ありがとう。 'wParam == SPI_SETWORKAREA'を使って' WM_SETTINGCHANGE'を実行すると、すべてのOSがXPに追加され、モニターが削除されるというトリックがあるようです。私はあなたの提案されたソリューションの残りについてはよく分かりません。 Spy ++が何かを示しても、それが文書化されたアプローチであるということではありません。 – c00000fd