java如何执行批处理文件,通过单击JMenuItem在windows上重新启动服务?
我正在尝试创建一个UI并运行一个批处理文件,只需单击一个菜单项即可重启后台运行的服务。我可以制作菜单并添加菜单项,如下所示:
JMenu menu = new("menu");
JMenuItem restart_service= new JMenuItem("Restart service");
menu .add(restart_service);
然后,我在菜单项中添加了一个侦听器来运行批处理文件:
restart_service.addActionListener (new ActionListener(){
@Override
public void actionPerformed(ActionEvent ae) {
openWebPage(
"file://path to bat file/batchfile.bat");
}
public void openWebPage(String url) {
try {
java.awt.Desktop.getDesktop().browse(java.net.URI.create(url));
} catch (java.io.IOException e) {
System.out.println(e.getMessage());
}
}
});
然而,每次我尝试这个,cmd窗口就会弹出并打印“拒绝访问”。虽然我更改了文件的前置任务,使其在没有管理员身份的情况下运行。不知道如何解决这个问题,或者是否有办法通过点击菜单项以管理员身份执行批处理文件。任何帮助都将不胜感激
# 1 楼答案
试试这个