0

_NET_WM_USER_TIMEWin32 または最後に使用された時間で並べ替えられたウィンドウのリストを取得する他の方法にプロパティの類似物はありますか?

4

1 に答える 1

0

任意の時点で画面上のすべてのウィンドウを一覧表示する EnumWindows 呼び出しがあります。

http://msdn.microsoft.com/en-us/library/windows/desktop/ms633497(v=vs.85).aspx

次に、GetActiveWindow は現在アクティブな最上位ウィンドウを提供し、GetFocus は入力フォーカスのあるウィンドウを提供します。

ウィンドウにフォーカスがあるかどうかを確認するにはどうすればよいですか? (Win32 API)

Win32 API からフォーカス履歴のリストを取得する方法はありません。これはかなりニッチな情報です。- ただし、EnumWindows の結果を定期的に反復処理し、ハンドルを GetActiveWindow と比較し、時間経過に伴うウィンドウとフォーカス ステータスのログを保存するプロセスをバックグラウンド スレッドで実行できます。そうすれば、追加のオーバーヘッドなしで、必要なときにいつでも独自のログを調べることができます。

私は .NET より前の時代に Visual Basic からほぼ同じことを行っていましたが、Win32 API に到達できる他の環境からも同じことが完全に可能であるはずです。

于 2012-07-20T16:31:30.203 に答える