前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >UnityD中调用windows命令行

UnityD中调用windows命令行

作者头像
bering
发布2019-12-03 14:50:33
9800
发布2019-12-03 14:50:33
举报
文章被收录于专栏:游戏开发之旅游戏开发之旅

Unity3D中用C#调用Windows命令行

C#中的Process类可以访问windows所有的进程,当然也可以调用Windows命令行了,具体用法参见官方API文档

用途:执行外部的批处理命令

例如:

a.在U3D的编辑器类中操作CMD脚本,自动生成Protobuf文件。

b.资源的自动导入导出

c.调用外部程序显示,打开外部程序

……

1.首先要调用命令行,需要用到Process类的命名空间。

[cpp] view plain copy

  1. using System.Diagnostics;
  2. [cpp] view plain copy public static string RunCMD(string command) { Process p = new Process(); p.StartInfo.FileName = "cmd.exe"; //确定程序名 p.StartInfo.Arguments = @"C:\Users\admin>" + command; //指定程式命令行 p.StartInfo.UseShellExecute = false; //是否使用Shell p.StartInfo.RedirectStandardInput = true; //重定向输入 p.StartInfo.RedirectStandardOutput = true; //重定向输出 p.StartInfo.RedirectStandardError = true; //重定向输出错误 p.StartInfo.CreateNoWindow = false; //设置不显示窗口 p.Start(); return p.StandardOutput.ReadToEnd(); //输出流取得命令行结果 }

4.你又发现主程序被锁死(阻塞)了,因为它占用了U3D主循环线程

例如:在Start()或者别的地方调用一下会造成程序卡死的现象出现。

这个时候需要重新开启一个新线程去执行该方法

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-03-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档