Unity打開外部程序exe/Bat文件方案


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;


/// <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 文件
舉個栗子黑白88

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 服務器配置、運行、建站一條龍 !





技術交流群:806091680 ! Chinar 歡迎你的加入


END

本博客為非營利性個人原創,除部分有明確署名的作品外,所刊登的所有作品的著作權均為本人所擁有,本人保留所有法定權利。違者必究

對於需要復制、轉載、鏈接和傳播博客文章或內容的,請及時和本博主進行聯系,留言,Email: ichinar@icloud.com

對於經本博主明確授權和許可使用文章及內容的,使用時請注明文章或內容出處並注明網址


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM