ドラップ & ドロップ操作をシミュレートするために SendInput を使用できますか?
コマンドラインからではなく、ドロップされた特定の形式のファイルを受け入れるアプリケーションがあり、それをファイルに関連付けたいと考えています。ウィンドウを検出し、ファイルのドラッグ アンド ドロップをシミュレートする小さなツールを作成しようと思いましたが、これは可能でしょうか? SendInput
またはおそらく使用する必要がありSendMessage
ますか?パラメータは何ですか?
ドラップ & ドロップ操作をシミュレートするために SendInput を使用できますか?
コマンドラインからではなく、ドロップされた特定の形式のファイルを受け入れるアプリケーションがあり、それをファイルに関連付けたいと考えています。ウィンドウを検出し、ファイルのドラッグ アンド ドロップをシミュレートする小さなツールを作成しようと思いましたが、これは可能でしょうか? SendInput
またはおそらく使用する必要がありSendMessage
ますか?パラメータは何ですか?
シェルには、ドロップをシミュレートする関数SHDoDragDropが既にあり、マウス入力を偽造するようなハックは必要ありません。
コマンドラインについて話しているので、XP はアプリケーション/登録済みファイル タイプの D&D をシミュレートするためのサポートを追加しました。
はい、かなり可能性が高いです。SendInput は、非常に低いレベルでマウス イベントを挿入します。SendMessage は機能しません。
DoDragDrop はブロッキング呼び出しであるため、スレッドが必要です。最初にマウス ダウンを偽造し、スレッドを開始し、DoDragDrop を呼び出します。スレッドは、DoDragDrop が開始されるのに十分な時間を確保するためにスリープし、その後、偽のマウス移動とマウスアップを行う必要があります。最初に動作することを確認してください。動作しない場合はデバッグできません。