私はウェブカメラを開こうとするdelphiアプリを持っています。 Windows 7 it failsの下で(これは別の話/ question /スレッド)、ウェブカメラドライバは「ビデオソース」というタイトルのダイアログをポップアップして、私に選択を促します。私がループ内で繰り返しドライバを開き、表示されるたびに手動でダイアログを閉じると、私は動くことができます。だから私は私のアプリからのダイアログを閉じたいと思います。 FindWindow(nil、 'Video Source')はそれを見つけません。私がプロセスエクスプローラで見ると、ダイアログは私のアプリケーションに属するものとして表示されます。私は強制的にPEからそれを閉じると、私のアプリを閉じます!このダイアログを閉じる方法は?このダイアログが開いている間に私のアプリがハングしている疑いがある(確認済み)ので、ダイアログを閉じるコードを実行するのがかなり難しくなります。デルファイアプリからドライバからポップアップされたダイアログを閉じる
1
A
答えて
1
このポップアップダイアログのためにメインアプリケーションスレッドがユーザー入力を待っている場合、唯一の解決策は、このポップアップの検索を定期的に試みる別のスレッドを実行することです。それが見つかると、PostMessageを使用してWM_CLOSEなどのポップアップハンドルを使用します。ポップアップのボタンにmousedown/mouseupのいずれかのメッセージを送信する必要があります。
さらに、Windows API WindowFromPointを使用してポップアップウィンドウについて調べる小さなデバッグアプリケーションを作成します。表示されているキャプションだけでなく、クラスです。また、このデバッグプログラムを使用してFindWindowを正しく動作させることもできます。
関連する問題
- 1. iframeからjQuery UIダイアログを閉じる
- 2. Androidでダイアログが閉じられたかどうかを知る方法は?
- 3. ポップアップが自動的に閉じられますか?
- 4. なぜ、ネストされた子ダイアログを閉じると、親ダイアログも閉じますか?
- 5. 子ボタンのプレスからポップアップを閉じる?
- 6. WebViewクラスからWebViewを含むダイアログを閉じるには
- 7. ajax読み込みコンテンツからJQuery Uiダイアログを閉じる
- 8. 他のスレッドからダイアログを閉じるとメインウィンドウからフォーカスできない
- 9. InputMethodServiceで拡張されたクラスからのビューを閉じる
- 10. 非UIスレッドからダイアログをポップアップ
- 11. ポップアップを閉じた後にプラットフォームを閉じる| JavaFX
- 12. C#プロンプトが表示されたらコンソールアプリケーションを閉じますか?
- 13. ナビゲーションコントローラ内から押されたビューを閉じます
- 14. 小さな箱を閉じるポップアップ
- 15. フォームが閉じられた後にコンソールウィンドウを閉じる方法
- 16. ファイアウォール拡張子から閉じた(閉じた後に)
- 17. アンドロイド:ダイアログを閉じずに閉じるダイアログ
- 18. ポップアップが閉じられたときに特定のページを更新する(jQuery)
- 19. UIWebViewから開かれたUIActionSheetを閉じる
- 20. ハンドラからリダイレクトされるaspxページを閉じるには
- 21. ダイアログを閉じるmvc3
- 22. AlertBuilderから拡張されたダイアログ?
- 23. 閉じる時のJQueryダイアログ
- 24. JQueryダイアログ閉じるイベント
- 25. コマンドラインからウィンドウを閉じる(ウィンドウ上)
- 26. 別のスレッドからUIImagePickerControllerを閉じる
- 27. カスタムダイアログボックスからアクティビティを閉じるには?
- 28. リモートコンピュータからemacsを閉じる
- 29. Guide.BeginShowMessageBoxをコードから閉じる方法
- 30. PyQt - QThreadからQMessageBoxを閉じる
WinSpyまたはSpy ++を使用して、そのクラスを含む情報を調べることもできます。あなた自身のアプリを書く必要はありません。 –
メインスレッドは停止しましたが、タイマーイベントはまだ起動しました。すべてのウィンドウを列挙するためにすばやく汚れていました。私は、クラス= '#32770'とtitle = 'Video Source'を探して、アプリに1秒のタイマールーチンを追加し、WM_CLOSEを発行しました。オープニングをやり直すためのループと連動して、私はそれを得ましたが、あまりにもかわいいわけではありません。 Windows 7の既知の問題と思われます。 – rossmcm