首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ProcessBuilder不工作吗?

ProcessBuilder不工作吗?
EN

Stack Overflow用户
提问于 2014-08-21 19:24:47
回答 2查看 2.6K关注 0票数 2

我正在尝试使用ProcessBuilder在windows上添加一个密钥寄存器。在我尝试Runtime.getRuntime.exec()之前,它也不起作用。

我在试这个。

代码语言:javascript
复制
ProcessBuilder p = new ProcessBuilder("reg add HKCU\\Software\\Microsoft\\Windows /v mykey /t REG_SZ /d " + "key_value");
        try {
            p.start();
        } catch (IOException ex) {
            Logger.getLogger(Registro.class.getName()).log(Level.SEVERE, null, ex);
        }

例外是:

代码语言:javascript
复制
GRAVE: null
java.io.IOException: Cannot run program "reg add HKCU\Software\Microsoft\Windows /v mykey /t REG_SZ /d key_value": CreateProcess error=2, O sistema não pode encontrar o arquivo especificado
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1042)
    at br.com.iguana.keys.Registro.addChavesRegistro(Registro.java:50)
    at br.com.iguana.keys.Registro.main(Registro.java:158)
Caused by: java.io.IOException: CreateProcess error=2, O sistema não pode encontrar o arquivo especificado
    at java.lang.ProcessImpl.create(Native Method)
    at java.lang.ProcessImpl.<init>(ProcessImpl.java:386)
    at java.lang.ProcessImpl.start(ProcessImpl.java:137)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1023)
    ... 2 more

知道吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-21 20:10:58

@是对的。你应该使用:

代码语言:javascript
复制
Process p = Runtime.getRuntime().exec("reg add HKCU\\Software\\Microsoft\\Windows /v mykey /t REG_SZ /d " + "key_value");
票数 0
EN

Stack Overflow用户

发布于 2014-08-21 19:39:07

reg是cmd shell命令,而不是可执行文件。和它一样只存在于cmd.exe shell环境中。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25434401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档