gpt4 book ai didi

java - 如何通过单击 JMenuItem 来执行批处理文件以在 Windows 上重新启动服务?

转载 作者:行者123 更新时间:2023-12-01 18:02:32 25 4
gpt4 key购买 nike

我正在尝试创建一个 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 窗口并打印“访问被拒绝”。尽管我更改了文件的权限,使其无需管理员身份即可运行。不确定如何解决此问题,或者是否有办法通过单击菜单项以管理员身份执行批处理文件。任何帮助,将不胜感激。

最佳答案

试试这个。

try{    
Process mp = Runtime.getRuntime().exec("BAT LOC");
mp.waitFor();
}catch( Exception procRunException ){
}

关于java - 如何通过单击 JMenuItem 来执行批处理文件以在 Windows 上重新启动服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60604823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com