自動的に閉じることによって更新呼び出しに応答する必要がある VB6 アプリケーションがあります。アプリケーションを閉じるためにユーザーの操作は必要ありません。システムダイアログが開かれている場合を除いて、これはすべて正常に機能します。このダイアログを使用して、ファイルを開いたり、プリンターのプロパティを設定したりできます。このようなもの:
(出典: tweakers.net )
[印刷設定] ウィンドウは正常に閉じますが、プロパティ ダイアログはシステム ダイアログであり、プログラムを閉じても閉じません。その結果、アプリケーションは閉じず、(目に見えない) アクティブなままになります。タスクマネージャーを使用して強制的に閉じる必要があります。
開いているフォームは、次のようなコードで検出できます。
For Each Form In Forms
...
Next Form
これらのダイアログは、開いているフォームのこの配列には表示されません。アプリケーションによって開かれたすべてのシステム ダイアログを検出し、それらを適切な方法で閉じる方法はありますか?