首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java和rundll32参数问题

Java和rundll32参数问题
EN

Stack Overflow用户
提问于 2018-04-09 07:44:43
回答 1查看 379关注 0票数 0

我遇到了一个奇怪的问题,用String[]执行从Java启动(实际上,我使用的是Commons,但在内部,它就在那里)

代码语言:javascript
复制
    String exec = "C:\\WINDOWS\\System32\\rundll32.exe \"C:\\Program Files\\Windows Photo Viewer\\PhotoViewer.dll\", ImageView_Fullscreen c:\\temp\\foo.png";   
String[] params = new String[] {"C:\\WINDOWS\\System32\\rundll32.exe", "\"C:\\Program Files\\Windows Photo Viewer\\PhotoViewer.dll\", ImageView_Fullscreen", "c:\\temp\\foo.png"};
Process process = Runtime.getRuntime().exec(exec);
int result = process.waitFor();
System.out.println(result);

如果我运行这个程序,程序就会产生很好的结果,但是如果我尝试执行(Params),我只会立即返回0。

我想问题就在“引用dll”操作部分的某个地方,但是我还没有找到它。指针?

提前谢谢你,尼克

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-09 08:10:41

似乎引用了一些错误的话:

可以在没有附加引号的情况下设置dll的路径。另外,可以将ImageView_Fullscreen作为单独的参数提供。

代码语言:javascript
复制
String[] params = new String[] {"C:\\WINDOWS\\System32\\rundll32.exe", "C:\\Program Files\\Windows Photo Viewer\\PhotoViewer.dll", "ImageView_Fullscreen", "c:\\temp\\foo.png"};

这应该会打开文件。

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

https://stackoverflow.com/questions/49727859

复制
相关文章

相似问题

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