所以我问了这个问题,关于如何将 3 个不同的应用程序组合成 1 个将处理应用程序组合成 1 个大可执行文件?
从潜伏中我学到了以下方法可以做到这一点:
- 使用 Java 并将我的草图嵌入到 Swing 界面中(将程序重写为一些复杂的 Java 怪物)
- 重写代码以使用 G4P http://www.lagers.org.uk/g4p/ex-windows/index.html启动单独的窗口(似乎比选项 1 更好,但仍然很麻烦,因为尝试编写函数来获取在单独的窗口中工作的 LEAP 运动 api 调用并不容易)
- 在每个程序的末尾使用 Open() 来运行下一个程序(又快又脏,正是我喜欢的方式!)
- 将所有 3 个组合成一个批处理文件。(我真的不明白如何去做,但似乎类似于以前的选项)。
现在理论上,我可以从 1 和 2 中获得更多功能(在程序流程和更好的用户界面方面),并且可能会在我未来的努力中学到更多并且做得更好,但是现在时间至关重要。每个程序都从用户输入创建 csv 数据文件,我将使用这些数据文件来创建可视化,因此我让程序运行的方式在这一点上有些无关紧要。唯一的问题是我无法让 open() 正常工作。见下文:
void setup() {
size(200, 200);
}
void draw() {
// draw() must be present for mousePressed() to work
}
void mousePressed() {
open("C:/Users/corbett2/Documents/Processing/test/application.windows64/test.bat"); //doesn't work
open(new String[] { "cmd", "/c", "start", "/w", "C:/Users/corbett2/Documents/Processing/test/application.windows64/test.bat"}); //also doesn't work
}
我尝试了很多不同的方法来使用 open() 但它不会运行程序。我使用的是 Windows 8。我导出了应用程序“test”,它创建了位于 C:/Users/corbett2/Documents/Processing/test/application.windows64 中的“test.bat”。我相信您必须先导出草图,然后才能尝试在其上使用 open() 对吗?如前所述,这里的想法是在我的 3 个应用程序的每一个关闭时调用 open() 以运行它们。
所以我的具体问题如下:
- 我列出的 4 种方法中,您会推荐我使用哪种方法来解决我的问题?如果没有,请随时提出其他建议。
- 使用 open() 的选项 3 会起作用吗?为什么或者为什么不?
- 更正我的 open() 问题。
提前致谢!