ProcessBuilderを使用して次のコマンドを作成する必要があります。
"C:\Program Files\USBDeview\USBDeview.exe" /enable "My USB Device"
私は次のコードで試しました:
ArrayList<String> test = new ArrayList<String>();
test.add("\"C:\\Program Files\\USBDeview\\USBDeview.exe\"");
test.add("/enable \"My USB Device\"");
ProcessBuilder processBuilder = new ProcessBuilder(test);
processBuilder.start().waitFor();
ただし、これにより、以下がシステムに渡されます(Sysinternals Process Monitorを使用して確認済み)
"C:\Program Files\USBDeview\USBDeview.exe" "/enable "My USB Device""
/enable
前の引用符と後の2つの引用符に注意してくださいDevice
。呼び出しが失敗するため、これらの余分な引用符を取り除く必要があります。誰かがこれを行う方法を知っていますか?