0

我们有一个 java 应用程序,它作为 Windows 服务运行。实际上,我们需要调用一个批处理文件来启动 windows 'calculator' 应用程序。但我们不能。如果我们不将 java 应用程序作为 Windows 服务启动,它就可以正常工作。我已经阅读了一篇关于 从 Windows 服务调用批处理文件并完成以下配置的帖子。

“首先安装服务,并提供批处理文件或exe文件的适当路径,然后转到运行->services.msc->右键单击服务->属性->登录->检查启用服务以与桌面交互-制作它使能够 ”

之后我们获得了部分成功,因为它首先提示一个权限窗口,如下所示:

4

1 回答 1

1

我可以建议您不要打开批处理文件,而只需打开 calc.exe 文件吗?

Runtime.getRuntime().exec("c:\\windows\\System32\\calc.exe", null, new File("c:\\windows\\System32\\calc.exe"));

编辑:如果您仍想将其作为批处理文件运行,请使用:

Runtime.getRuntime().exec("cmd /c start nameOfTheBatchFile.bat");

请注意,exec 方法中的第二个变量是设置您要从中调用程序的目录。

于 2013-08-01T06:17:32.003 回答