使用java

时间:2015-09-30 06:27:18

标签: java

我有一个打开.exe文件的java程序。我想做的是,

1)执行java程序时运行.exe文件 - 完美运行

2)当再次运行相同的代码时,我想重新打开以前执行的exe。我不希望再次执行.exe文件。

修改 有没有办法做到这一点?我唯一担心的是第二个问题。我已经提出了第一个问题

1 个答案:

答案 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();
    }