私が読んだことによると、ユーザーが Windows エクスプローラーでファイルを右クリックすると、シェル拡張機能が呼び出されます。ユーザーがファイルを左クリックしたときに、イベントをキャプチャしたり、シェル拡張機能を実行したりする方法はありますか?
ユーザーが選択したファイルを追跡する必要があります。それは可能ですか?
ご協力いただきありがとうございます。
まず、WinApi を使用して、どのウィンドウにフォーカスがあるかを確認します。エクスプローラーのウィンドウですか?属性をチェックして、探しているウィンドウのタイプであることを確認してください。そうである場合は、すべての入力を通知する GetAsyncKeystate を使用して、ユーザーがマウスの左ボタンを押すたびにチェックします。
マウスの左クリックを取得したら、ユーザーがファイル表現をクリックしたかどうかを確認します。キーボード フォーカスのある項目が見つかるまで、Windows GUI 項目をループします。プログラム Spy++ を使用して、ファイル リストのコンテナー/フレームの ID を取得します。フォーカスされた/選択された項目がこのフレーム内にあるかどうか、そして最も重要なことは、それがリスト項目であるかどうかを確認することです。アイテムの名前/キャプション属性を取得すれば完了です!
このプロセスが長いため、これを行うための完全なコードを提供することはできません。理解できないことがあれば教えてください。