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 ...
随机推荐
- 【题解】Luogu P4588 [TJOI2018]数学计算
原题传送门 这题是线段树的模板题 显而易见,直接模拟是不好模拟的(取模后就不好再除了) 我们按照时间来建一颗线段树 线段树初始值都为1,用来维护乘积 第一种操作就在当前时间所对应的节点上把乘数改成m ...
- Kaggle比赛NCFM图像分类任务简介
为了保护和监控海洋环境及生态平衡,大自然保护协会(The Nature Conservancy)邀请Kaggle社区的参赛者们开发能够出机器学习算法,自动分类和识别远洋捕捞船上的摄像头拍摄到的图片中鱼 ...
- mui框架下监听返回按钮
用于监听mui框架下的Android手机的返回按键(物理键) mui.back = function() { if(b == true) {//一个标识符,在某个状态下不允许双击返回关闭程序 aler ...
- guxh的python笔记五:面向对象
1,面向对象编程思想 类:一类具有相同属性的抽象 属性(静态属性):实例变量.类变量.私有属性 方法(动态属性):构造函数.析构函数(默认就有).函数.私有函数 对象/实例:类经过实例化后,就是对象/ ...
- jRazor
引擎渲染速度竞赛 条数据 × 次渲染测试 建议在高版本的浏览器上进行测试,避免浏览器停止响应 测试环境: 开始测试»
- flask请求上下文
先看一个例子: #!/usr/bin/env python # -*- coding:utf-8 -*- import threading # local_values = threading.loc ...
- QChartView绘制饼状图
效果图: #include "mainwindow.h" #include "form.h" #include <QApplication> #in ...
- windows server下设置远程会话自动注销
通过远程桌面连接windows server服务器时,经常是直接关闭远程桌面程序,而没有注销远程登录的用户,这样导致有很多远程桌面启动的进程依然运行在服务器上,对服务器产生了不必要的开销,其实作为se ...
- 001——使用composer安装ThinkPHP5
composer create-project topthink/think tp5 --prefer-dist
- PB测款方法 店铺运费模板 设置
https://www.wishhack.com/article/44.html 子账号有权限设置运费