4

私が読んだことによると、ユーザーが Windows エクスプローラーでファイルを右クリックすると、シェル拡張機能が呼び出されます。ユーザーがファイルを左クリックしたときに、イベントをキャプチャしたり、シェル拡張機能を実行したりする方法はありますか?

ユーザーが選択したファイルを追跡する必要があります。それは可能ですか?

ご協力いただきありがとうございます。

4

1 に答える 1

0

まず、WinApi を使用して、どのウィンドウにフォーカスがあるかを確認します。エクスプローラーのウィンドウですか?属性をチェックして、探しているウィンドウのタイプであることを確認してください。そうである場合は、すべての入力を通知する GetAsyncKeystate を使用して、ユーザーがマウスの左ボタンを押すたびにチェックします。

マウスの左クリックを取得したら、ユーザーがファイル表現をクリックしたかどうかを確認します。キーボード フォーカスのある項目が見つかるまで、Windows GUI 項目をループします。プログラム Spy++ を使用して、ファイル リストのコンテナー/フレームの ID を取得します。フォーカスされた/選択された項目がこのフレーム内にあるかどうか、そして最も重要なことは、それがリスト項目であるかどうかを確認することです。アイテムの名前/キャプション属性を取得すれば完了です!

このプロセスが長いため、これを行うための完全なコードを提供することはできません。理解できないことがあれば教えてください。

于 2012-11-17T19:04:21.973 に答える