我从Unity项目调用可执行文件。可执行文件包含一个与计时器一起工作的函数(预定义时间,例如10秒)。我想要的是稍微更改一下功能,而不是运行一个计时器,作为.exe的输入,一个布尔标志,我将能够继续执行可执行文件或停止它。但是要这样做,我必须给.exe提供动态输入。有可能吗?如果可行的话,我怎么能这样做,而不需要花费太多的系统资源呢?
修改
void record(){
string[] args = { path, dataDir, Date+"\\", name, surname };
System.Diagnostics.Process.Start(execDir, String.Join(" ", args));
}
OnGUI代码:
if (GUI.Button (new Rect (150,250, 100, 50), "RECORD")) {
record();
}
if (GUI.Button (new Rect (270,250, 100, 50), "STOP")) {
stop_recording();
}
此函数记录调用可执行文件,该文件将多个内容写入二进制文件。我还有一个停止按钮,我想在其中添加标志。当按下按钮时,标志将为true,我想将该值作为参数解析为execDir可执行文件。
答案 0 :(得分:1)
我认为您要做的是将命令传递到正在运行的控制台应用程序,对吗?
首先,这一切都取决于您正在运行的可执行文件。如果可执行文件除了简单的" time_to_run"之外没有公开任何控件。命令行参数或每次运行时启动一个新实例,并且您没有此可执行文件的来源或无法编译它,您没有选项。但是,如果您有权访问这些资源或自己编写资源,您可以做很多事情。
应用程序允许以各种方式进行外部控制。
选择你! :)