在Processing中启动Visual C ++ .exe文件

时间:2018-05-05 11:30:15

标签: batch-file visual-c++ exec processing launch

我正在尝试使用Processing运行我的Virtual C ++项目的已发布.exe文件。我尝试了launch()和exec(),它们都适用于任何其他.exe文件或不同的文件类型。我正在使用Processing参考代码进行启动()。

void setup() {
  size(200, 200);
}

void draw() { 
  // draw() must be present for mousePressed() to work
}

void mousePressed() {
  println("Opening Process_4");
  launch("C:\\Users\\User\\Documents\\Processing\\ProjectFile\\x64\\Release\\ProjectFile.exe");
}

我尝试过更改斜线,将我的Visual C ++文件移动到C:或D:,我甚至通过使用Processing创建了一个批处理文件(.bat)。

void setup() {
  size(200, 200);
}

void draw() { 
  // draw() must be present for mousePressed() to work
}

void mousePressed() {
  PrintWriter output=null;
output = createWriter("myfile.bat");
output.println("cd "+sketchPath("C:\\Users\\User\\Documents\\Processing\\ProjectFile\\x64\\Release"));
output.println("start  ProjectFile.exe");
output.flush();
output.close();  
output=null;
launch(sketchPath("C:\\Users\\User\\Documents\\Processing\\ProjectFile\\x64\\Release")+"myfile.bat");
}

无论我做什么,即使.exe和.bat文件在双击它们时工作正常,当我将它们用于同一目的时,launch()或exec()也不会做任何事情。我一直试图弄明白这两天,所以如果有人能够让我摆脱困境,那将是一件好事。提前致谢。

1 个答案:

答案 0 :(得分:0)

以下是适用于我的线路。我在我发布的第一个代码中使用了exec()而不是launch()。

exec(new String[] {"cmd", "/c","start","/w", "C:\\Users\\Ozan\\Documents\\Processing\\PlateRecognition\\x64\\Release\\myfile.bat"});