Unity打开外部程序exe/Bat文件方案
Unity调用外部程序/Bat文件
本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人! (拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) |
Chinar —— 心分享、心创新! 助力完成 Unity 打开外部程序 exe / bat 文件 为新手节省宝贵的时间,避免采坑! |
Chinar 教程效果:
全文高清图片,点击即可放大观看 (很多人竟然不知道)
1
Print Excel —— 打印表格
Unity 调用系统进程,可直接调用外部程序 Excel 进行打印操作
会直接在目标路径下生成对应的 PDF 文件
另外 Verb 还有其他命令: new / edit / open / print / run / run as 分别执行不同操作
using System.Diagnostics;
using UnityEngine;
/// <summary>
/// 打印Excel表格类
/// </summary>
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 文件
using UnityEngine;
/// <summary>
/// <para>作用:打开.bat文件</para>
/// <para>作者:Chinar</para>
/// <para>创建日期:2018-08-5</para>
/// </summary>
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 —— 阿里ECS云服务器自定义配置 - 购买教程(新手必备!)
3—— Windows 服务器配置、运行、建站一条龙 !
4 —— Linux 服务器配置、运行、建站一条龙 !
" role="presentation">
技术交流群:806091680 ! Chinar 欢迎你的加入
END
本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究
对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com
对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址
Unity打开外部程序exe/Bat文件方案的更多相关文章
- Unity 打开其他exe文件
using UnityEngine; using System.Collections; using System.Diagnostics;///// public class FeiYuZhu : ...
- bat文件无法双击运行
问题: win7系统下新建txt文件,编辑脚本内容后,保存为test.bat.每次双击它,只会默认以txt格式打开它,而不是运行它. 解决: 1. 双击打开“我的电脑”,然后在“工具”下选择“文件夹选 ...
- WinAPI: ShellExecute - 打开外部程序或文件
WinAPI: ShellExecute - 打开外部程序或文件 ShellExecute( hWnd: HWND; {指定父窗口句柄} Operation: PChar; { ...
- 解决Windows 7删除执行过的 EXE、Bat文件有延迟的问题
解决了困扰已久的问题,真是大快人心啊! Win7删除exe文件刷新重现及删除慢问题解决方法 - DragonCheng的专栏 - 博客频道 - CSDN.NET Win7删除exe文件刷新重现及删除慢 ...
- .bat文件打开指定网页,并运行jar包
@echo off Start "" "C:\Users\Lenovo\AppData\Local\Google\Chrome\Application\chrome.ex ...
- MFC 打开外部EXE文件的三种方法
目前知道三种方式:WinExec,ShellExecute ,CreateProcess,别人已经总结的很好了<vc中调用其他应用程序的方法(函数) winexec,shellexecute , ...
- windows使用批处理bat文件批量打开程序
windows命令行官网教程: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/wind ...
- [Skills] 在桌面打开一个BAT文件,CMD窗口不关闭
每次开机都要取得本机IP,然后远程连接上去,屏幕太小,不好输入,想写个bat,执行就能看到IP,并且停留在cmd窗口上,想来简单,以前搜了好久没找到好的办法,今天找到一个贴子,竟然可以,呵呵! 以 ...
- Qt打开外部程序和文件夹需要注意的细节(Qt调用VC写的动态库,VC需要用C的方式输出函数,否则MinGW32编译过程会报错)
下午写程序中遇到几个小细节,需要在这里记录一下. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 QProcess *process = new QProcess(this ...
随机推荐
- 剑指offer(54)字符流中第一个不重复的数字
题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g".当从该字符流中读出 ...
- Python文档记录
Beautiful Soup 4.2.0 文档 Python3网络爬虫开发实战 Python库-requests 文档 Selenium with Python中文翻译文档 http://www.te ...
- git如何撤销git add操作?
答: 使用git reset <file name>即可撤销
- jquery easyui的应用-1
下载地址是: www.jeasyui.com/download 当前版本是1.6.7 是由 jquery ui 扩展而来的. 像jquery ui, bootstrap, jquery easyui三 ...
- 【问题解决:SFL4J】启动时SLF4J报错
问题描述 启动时报错 SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Default ...
- (转载)Unity学习笔记:关于Dropdown的学习
今天组长让我写一个界面,其中用到了下拉条,我的印象还停留在以前的NGUI有现成的组件,但是uGUI没有的那阶段,组长跟我说uGUI现在也有了,研究了一下,发现real方便哦,今天就来简单说一下用法吧. ...
- CORS跨域请求
一.问题: 服务器端代码 from flask import Flask from flask import make_response from flask import jsonify app = ...
- (未完结)“文远知行杯”GDET第十四届竞赛(网络赛共10题,仅整理出6题)
刚开学没多久就打了一个网络赛,通过这次网络赛我是发现我是真的菜... 放假前校赛的排名让我有些自满,寒假丝毫没有接触ACM,一直沉迷于Steam,这个真的值得好好反省. 虽然现在大一课有点多,在学校也 ...
- 使用qrcode输入信息生成二维码包含二维码说明信息,点击转化为图片并下载
说明:输入汉字和数字都可以识别并展示 <body> <h2 id="h2">二维码生成</h2> <br> <span id= ...
- spring 集成 mybatis
在日常的开发中,我们经常需要这样对MyBatis和Spring进行集成,把sqlSessionFactory交给Spring管理,通常情况下,我们这样配置: <bean id="sql ...