博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Unity打开外部程序exe/Bat文件方案
阅读量:6655 次
发布时间:2019-06-25

本文共 2782 字,大约阅读时间需要 9 分钟。

Unity调用外部程序/Bat文件


本文提供全流程,中文翻译。
Chinar 坚持将简单的生活方式,带给世人!
(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例)

Chinar —— 心分享、心创新!
助力完成 Unity 打开外部程序 exe / bat 文件
为新手节省宝贵的时间,避免采坑!

Chinar 教程效果:



全文高清图片,点击即可放大观看 (很多人竟然不知道)


1

Unity 调用系统进程,可直接调用外部程序 Excel 进行打印操作

会直接在目标路径下生成对应的 PDF 文件

另外 Verb 还有其他命令: new / edit / open / print / run / run as 分别执行不同操作

举个栗子黑白88

这里写图片描述

using System.Diagnostics;using UnityEngine;/// /// 打印Excel表格类/// public class ChinarPrint : MonoBehaviour{    private void OnGUI()    {        if (!GUI.Button(new Rect((Screen.width - 200) / 2, (Screen.height - 200) / 2, 200, 200), "Print Excel")) return;        #region 查看Verb //查看对应扩展名的程序,所支持的Verb字符串 命令        //ProcessStartInfo psi = new ProcessStartInfo(Application.dataPath + "/Chinar-TestPrintExcel.xlsx");//这里传一个带扩展名文件的 文件路径        //foreach (var s in psi.Verbs)        //{
// print(s); //} #endregion System.Diagnostics.Process process = new System.Diagnostics.Process //系统进程 { //StartInfo的属性成员FileName 表示需要启动的进程,可以被设置成可执行文件,也可以被设置成其扩展名已经与系统上安装的应用程序关联的任何文件类型。本例中FileName 就被设置成pdf文件,这样调用Start()方法启动进程时,便会去启动本机已经安装的且与pdf文件相关联的默认打开程序(本机为Adobe Reader程序)。 // StartInfo = { FileName = Application.dataPath + "/Chinar-TestPrintExcel.xlsx", //要打印的文件路径 CreateNoWindow = true, //不显示调用程序窗口 WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden, //设置窗口状态,最大、最小化 UseShellExecute = true, //使用设定命令执行 Verb = "print" //指定执行的动作,打印:print 打开:open ………… } }; process.Start(); //开始打印 }}

2

Open .Bat File —— 打开 .bat 文件

Unity 调用外部程序打开.bat 文件流程比较繁琐

这里 Chinar 提供一个简单的方式

用记事本打开你需要操作的 .bat 文件

在第一行加上: cd /D %~dp0

这里写图片描述
然后在 Unity 中,我们通过函数 Application.OpenURL(文件路径)直接打开 .bat 文件
举个栗子黑白88

using UnityEngine;/// /// 
作用:打开.bat文件
///
作者:Chinar
///
创建日期:2018-08-5
///
public class ChinarOpenBat : MonoBehaviour{ private void OnGUI() { if (!GUI.Button(new Rect((Screen.width - 200) / 2, (Screen.height - 200) / 2, 200, 200), "Run Bat")) return; Application.OpenURL(Application.streamingAssetsPath.Replace("StreamingAssets", "ChinarDemo/StreamingAssets") + "/BatFile.bat");//传入路径即可 }}

支持

May Be —— 搞开发,总有一天要做的事!

拥有自己的服务器,无需再找攻略!
Chinar 提供一站式教程,闭眼式创建!
为新手节省宝贵时间,避免采坑!

1 ——
2 ——
3——
4 ——


70
技术交流群:806091680 ! Chinar 欢迎你的加入


END

本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究

对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com
对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址

转载于:https://www.cnblogs.com/chinarbolg/p/9601371.html

你可能感兴趣的文章
C++ 数组指针
查看>>
几何画板中绘制过圆上点的切线的技巧
查看>>
ABBYY FineReader 12中的用户模式你会用吗
查看>>
ElasticSearch的各种服务的URL
查看>>
Alpha 冲刺报告(5/10)
查看>>
HTML5 应用程序缓存
查看>>
jmeter 跨线程组调用变量
查看>>
Linux运维-Rsync+Inotify
查看>>
51nod 最大子矩阵和(动态规划)
查看>>
JS模块与命名空间的介绍二
查看>>
C#中的委托(一)
查看>>
linux中 bashrc文件的alias添加快捷命令
查看>>
Python Number 类型转换
查看>>
第三个Sprint冲刺第三天
查看>>
与文件有关的基本API总结
查看>>
udev
查看>>
Window 命令行神器:cmder
查看>>
系统进程查看 --- 微软官方出品
查看>>
gridView 编辑单元格获取单元格焦点位置(位于单元格的焦点位置)
查看>>
halcon开发必读
查看>>