java如何打开程序旁边的快捷方式?
嗨,我正试图从我的jar文件旁边的文件夹中运行/打开一个快捷方式。我似乎无法像它一直说的那样让它工作 系统找不到指定的文件 你能告诉我我做错了什么吗java如何打开程序旁边的快捷方式?,java,load,exe,Java,Load,Exe,嗨,我正试图从我的jar文件旁边的文件夹中运行/打开一个快捷方式。我似乎无法像它一直说的那样让它工作 系统找不到指定的文件 你能告诉我我做错了什么吗 JButton btnInstall = new JButton("Install/Run"); btnInstall.setEnabled(false); btnInstall.addActionListener(new ActionListener() { public void actionPerformed(
JButton btnInstall = new JButton("Install/Run");
btnInstall.setEnabled(false);
btnInstall.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ChangePath(ProgramAdder.programs.get(count).ProgramPath.toString());
System.out.print(ProgramAdder.programs.get(count).ProgramPath.toString());
}
});
btnInstall.setBounds(173, 226, 116, 45);
frame.getContentPane().add(btnInstall);
public void ChangePath(String Path){
try {
Process process= Runtime.getRuntime().exec(Path);
} catch (IOException e) {
e.printStackTrace();
}
}
如果不需要从
Runtime.exec
保存返回的进程
对象,则可以使用更简单的方法。提供要打开的文件。(1)修复代码块(单击)。(2) 不要使用setBounds
,使用LayoutManager
。(3) 您正在传递到exec(路径)代码>似乎是一个类,但可能是一个定义错误的变量(您没有向我们展示)。(4) 您使用的类是programaadder
,我们不知道它们是什么。我建议您从头开始编写一个类,只读取您正在查找的文件,看看是否有效。Path是从这个ChangePath传入的字符串(ProgramAdder.programs.get(count.ProgramPath.toString());ProgramAdder只是一个类,它创建地址(3)和部分地址(4)的程序名和路径列表。现在按照我的建议去做,这样你就可以解决你的问题了。嗨,我创建了一个小班,试图打开其中一个文件,但我仍然收到同样的错误,我确定我只是键入了错误的地址,但不确定标准的方法
package Logic;
import java.util.ArrayList;
import java.util.List;
public class ProgramAdder {
public static List<Programs> programs = new ArrayList<Programs>( );
public static void ProgramList(){
ProgramAdder.addProgram("HD Sentinel","/Shortcuts In Order/1 - HDSentinel.lnk");
ProgramAdder.addProgram("Defraggler","/Shortcuts In Order/2 - Defraggler.lnk");
ProgramAdder.addProgram("CC Cleaner","/Shortcuts In Order/3 - CCCLEANER.lnk");
ProgramAdder.addProgram("Hit Man Pro 64Bit","/Shortcuts In Order/4 - HitManPro 32bit.lnk");
ProgramAdder.addProgram("Hit Man Pro 32Bit","/Shortcuts In Order/4 - HitManPro 64bit.lnk");
ProgramAdder.addProgram("Super Anti Spyware","/Shortcuts In Order/5 - SuperAntiSpyware.lnk");
ProgramAdder.addProgram("Malware Bytes","/Shortcuts In Order/6 - MalwareBytes.lnk");
}
public static void addProgram(String ProgramName,String ProgramPath){
Programs p = new Programs();
p.ProgramName = ProgramName;
p.ProgramPath = ProgramPath;
programs.add(p);
}
}
package Logic;
import java.io.IOException;
public class OpenTets {
public static void OpenProgram(){
try {
Process process= Runtime.getRuntime().exec("/Shortcuts In Order/1 - HDSentinel.lnk");
} catch (IOException e) {
e.printStackTrace();
}
}
}