0

ドラップ & ドロップ操作をシミュレートするために SendInput を使用できますか?

コマンドラインからではなく、ドロップされた特定の形式のファイルを受け入れるアプリケーションがあり、それをファイルに関連付けたいと考えています。ウィンドウを検出し、ファイルのドラッグ アンド ドロップをシミュレートする小さなツールを作成しようと思いましたが、これは可能でしょうか? SendInputまたはおそらく使用する必要がありSendMessageますか?パラメータは何ですか?

4

2 に答える 2

3

シェルには、ドロップをシミュレートする関数SHDoDragDropが既にあり、マウス入力を偽造するようなハックは必要ありません。

コマンドラインについて話しているので、XP はアプリケーション/登録済みファイル タイプの D&D をシミュレートするためのサポートを追加しました。

于 2011-03-06T16:53:18.977 に答える
3

はい、かなり可能性が高いです。SendInput は、非常に低いレベルでマウス イベントを挿入します。SendMessage は機能しません。

DoDragDrop はブロッキング呼び出しであるため、スレッドが必要です。最初にマウス ダウンを偽造し、スレッドを開始し、DoDragDrop を呼び出します。スレッドは、DoDragDrop が開始されるのに十分な時間を確保するためにスリープし、その後、偽のマウス移動とマウスアップを行う必要があります。最初に動作することを確認してください。動作しない場合はデバッグできません。

于 2011-03-06T03:59:04.313 に答える