我有一个打开.exe文件的java程序。我想做的是,
1)执行java程序时运行.exe文件 - 完美运行
2)当再次运行相同的代码时,我想重新打开以前执行的exe。我不希望再次执行.exe文件。
修改 有没有办法做到这一点?我唯一担心的是第二个问题。我已经提出了第一个问题
答案 0 :(得分:2)
应路飞的要求。这是我用来获取正在运行的进程列表并检查特定exe是否正在运行的代码。希望它对其他人有所帮助。
try
{
String line;
String pidInfo = "";
Process proc = Runtime.getRuntime().exec("wmic.exe");
BufferedReader input = new BufferedReader(new InputStreamReader(proc.getInputStream()));
OutputStreamWriter oStream = new OutputStreamWriter(proc.getOutputStream());
oStream .write("process where name='test.exe'");
oStream .flush();
oStream .close();
while ((line = input.readLine()) != null) {
pidInfo+=line;
}
input.close();
if(pidInfo.contains("test.exe"))
{
System.out.println("exe already running");
}
else
{
System.out.println("exe not running");
Process p = Runtime.getRuntime().exec(new String[] {"C:\\Program Files (x86)\\ToTestEXE\\test.exe"});
}
}
catch (IOException e)
{
e.printStackTrace();
}