///
Unity 調用系統進程,可直接調用外部程序 Excel 進行打印操作
會直接在目標路徑下生成對應的 PDF 文件
另外 Verb 還有其他命令: new / edit / open / print / run / run as 分別執行不同操作
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(); //開始打印 }
Unity 調用外部程序打開.bat 文件流程比較繁瑣
這裏 Chinar 提供一個簡單的方式
用記事本打開你需要操作的 .bat 文件
在第一行加上: cd /D %~dp0
然後在 Unity 中,我們通過函數 Application.OpenURL(文件路徑)
直接打開 .bat 文件
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");//傳入路徑即可 }
///
///