使用 命令行/WinForm 来打包Unity可执行程序( 三 )

/// 其他请百度/// /// /// public static void RunCmd(string cmd, out string output){cmd = cmd.Trim().TrimEnd('&') + "&exit";//说明:不管命令是否成功均执行exit命令,否则当调用ReadToEnd()方法时,会处于假死状态using (Process p = new Process()){p.StartInfo.FileName = CmdPath;p.StartInfo.UseShellExecute = false;//是否使用操作系统shell启动p.StartInfo.RedirectStandardInput = true;//接受来自调用程序的输入信息p.StartInfo.RedirectStandardOutput = true;//由调用程序获取输出信息p.StartInfo.RedirectStandardError = true;//重定向标准错误输出p.StartInfo.CreateNoWindow = true;//不显示程序窗口p.Start();//启动程序//向cmd窗口写入命令p.StandardInput.WriteLine(cmd);p.StandardInput.AutoFlush = true;//获取cmd窗口的输出信息output = p.StandardOutput.ReadToEnd();p.WaitForExit();//等待程序执行完退出进程p.Close();}}}private void label2_Click(object sender, EventArgs e){}}}
四、运行效果
1.初始界面
2.输入相关路径,点击打包:
3.打包过程中禁止用户再次点击打包,但可对主窗口进行拖动缩放操作:
4.打包完成弹出打包完成窗口:
5.打包后的EXE和APK文件:
五、参考资料
CSDN博客 工具 之打包自动化工具的下载/安装/基本操作/任务创建执行/Unity打包自动化简单搭建的相关整理
博客园_C#程序调用cmd.exe执行命令
CSDN博客_解决C#跨线程调用窗体控件的问题
Unity官方文档
总结和展望
本文探究了使用命令行来对Unity进行打包,同时使用构建了一个可视化界面以供用户使用 。
【使用 命令行/WinForm 来打包Unity可执行程序】本项目还有点缺陷,开发者需要在项目里写好,外部才能运行其中的静态打包方法,未来希望可以直接在上对中的保存场景、项目名称进行修改,直接插入项目中,无需提前写好.