2

This is a kind of a complex query as it look it from outside. I would like to get notification about any drag/drop operation performed in windows explorer with exact number of files being dragged from source to target folder.

I have tried setwindowshookex in my application but the drag/drop events doesn't appears in callback function although I am getting resize, forgroundwindows, selection on items etc. events.

NOT sure what is wrong, it might seems impossible to Hook drag/drop events in windows.

Have anyone can help with this.

Thanks Al

4

1 に答える 1

1

Windows エクスプローラー内でのドラッグ アンド ドロップ操作は、ウィンドウ メッセージを使用せず、関数を介してIDropSourceおよびIDropTargetCOM インターフェイスを使用しDoDragDrop()ます。でそれをフックすることはできませんSetWindowsHookEx()。いくつかのコードを DLL に記述し、それを Windows エクスプローラーに直接挿入しDoDragDrop()て、回り道などを使用して直接フックできるようにする必要がある可能性があります。これにより、呼び出しは最初にフック コードを通過します。そうすれば、渡された COM インターフェイスにアクセスできるだけでなく、ドラッグ アンド ドロップが成功したかキャンセルされたかを検出できます。

于 2013-07-11T18:16:11.017 に答える