最近写一个在线编程的小项目需要使用用到unity打开外部的exe控制台通信,使其与unity程序进行Socket通信。
在外部的exe程序放在unity的Assets的StreamingAssets文件夹下,主要功能代码如下:
Process pro;
string pathURL; //exe程序的路径
void Start () {
pathURL = Application.streamingAssetsPath+"/在线编程服务器端.exe";
pro = new Process();
pro.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; //把窗口隐藏,使其在后台运行
pro.StartInfo.FileName = pathURL; //设置要打开的exe程序的路径
pro.Start(); //启动exe程序
}
void OnDestroy() {
if(pro!=null){
pro.Kill(); //杀死所有的进程
pro.Dispose(); //释放所有的资源
pro.Close(); //关闭exe程序
}
}