3

EnumWindowsProcに渡された一連のキーワードに従ってウィンドウハンドルをリストに格納し、ウィンドウタイトルと比較します(GetWindowsTextを呼び出した結果)。

EnumWindows関数がループで数回呼び出され、同じ要素を複数回追加しないようにリストが作成されます。この時点で、実行時にユーザーが現在リストにあるウィンドウの1つを閉じた場合、リストをトラバースして、閉じたウィンドウのハンドルを削除できるようにします。リスト内のすべてのハンドルでIsWindowVisibleを使用したくないのは、ウィンドウが閉じられているかどうかを知る必要があるためです。この関数は、最小化されたウィンドウに対してFALSEを返します。

それが指していたウィンドウが閉じられたかどうかをウィンドウハンドルから知ることができる他の方法はありますか?

どんな助けでも大歓迎です!

PS:参照されているすべての関数にハイパーリンクを張ろうとしましたが、十分な評判がありません。ごめん

4

1 に答える 1

3

IsWindow関数を使用して、ハンドルが有効かどうかを確認できます。

ウィンドウを閉じた後にハンドルを再利用できるため、ウィンドウがまだ初期基準を満たしていることを確認する必要があることに注意してください(タイトル、クラスなどを再確認してください)。

于 2013-01-17T18:53:27.407 に答える