私はIE11でテストを行っています。それを行うために私はレジストリにいくつかの変更を加えました。私はフォルダ 'FeatureControl'に新しいキー 'FEATURE_BFCACHE'を作成しました。次に、値 '0'の 'FEATURE_BFCACHE'に 'DWord'の値を 'iexplore.exe'という名前で追加しました。私はそれを手動で行った。しかし、今私のプログラムからやろうとしています。私はこれを書いたが、うまくいかない。javaを介してレジストリに新しい鍵を追加するには?
String[] c = new String[]{"reg", "add", "\"HKLM\\Software\\Wow6432Node\\Microsoft\\Internet Explorer\\Main\\FeatureControl\\FEATURE_BFCACHE\"",
"/v", "\"iexplore.exe\"", "/t", "REG_DWORD", d", "0", "/f"};
try {
new ProcessBuilder(c).start();
} catch (IOException e) {
e.printStackTrace();
}
適切にコマンドラインreg add "HKLM\SOFTWARE\WOW6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE1" /t REG_DWORD /v iexplore.exe /d 0 /f
に動作しますが、たぶん私は管理者として実行する必要がこのコマンドを実行するためのJavaコード
System.out.println("Creating new folder");
String[] c = new String[]{"reg", "add", "\"HKLM\\SOFTWARE\\WOW6432Node\\Microsoft\\Internet Explorer\\Main\\FeatureControl\\FEATURE_BFCACHE1\"",
"/t", "REG_DWORD", "/v", "iexplore.exe", "/d", "0", "/f"};
try {
new ProcessBuilder(c).start();
} catch (IOException e) {
e.printStackTrace();
}
からは動作しません、私はラインを持っているいくつかの変更後?
に動作しますレジストリを変更する – Viktoriia
あなたのコマンドには '/' on '/ d'もないようです。それ以外の場合は、実行されたコマンドのstdout/stderrを出力してください(例:[inheritIO() '](http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder)。 html#inheritIO--)をプロセスビルダに追加してください)、おそらくヒントがあります。おそらくあなたのプログラムはこの変更を行うのに十分な権利を持っていないでしょうか? – mata
この行は、コマンドライン 'reg add" HKLM¥SOFTWARE¥WOW6432Node¥Microsoft¥Internet Explorer¥Main¥FeatureControl¥FEATURE_BFCACHE1 "/ t REG_DWORD/v iexplore.exe/d 0/f" で動作しますが、コードが動作しません – Viktoriia