web-dev-qa-db-ja.com

複数のファイル名をコンテキストメニューシェルコマンドに渡す方法は?

単一のファイル名をコンテキストメニューに渡すシェルコマンドは簡単です。

[HKEY_CLASSES_ROOT\*\Shell\MyProgram\Command]
@="program.exe %1"

しかし、複数のファイルを選択すると、program.exeeachそのような選択されたファイルに対して呼び出されます。

代わりにやりたいのはinvokeprogram.exe 1回だけ、現在選択されているすべてのファイル名を渡します。

これを行う方法?

32
WinWin

この投稿 を確認することをお勧めします。これは、複数のファイルを1つのインスタンスに渡すことは実際には不可能であり、何らかの形式のIPC(プロセス間通信)に依存する必要があるためです。

3
Eternal Learner

これには 送信先 を使用できます。複数のファイルをサポートします。

このウェブサイトがオフラインになった場合:

Shell:sendtoWindows + Rで開くか、エクスプローラーのアドレスバーに貼り付けます。次の場所にリダイレクトされます。

C:\Users\<yourusername>\AppData\Roaming\Microsoft\Windows\SendTo

このフォルダにプログラムへのショートカットを作成すると、エクスプローラの右クリックメニューのSend toの下に表示されます。

21
W4ldi