• Unity编辑器调用外部exe程序 和 windows文件夹


    直接来,1个脚本

    using System.Collections;
    using System.Collections.Generic;
    using System.Diagnostics;
    using UnityEditor;
    using Debug = UnityEngine.Debug;
    
    public class Excel2LuaEditor : EditorWindow
    {
        [MenuItem("工具/生成Lua Card")]
        static void GenLuaCard()
        {
            Debug.Log("生成卡牌 Lua");
            ProcessCommand(@"D:UnitySSDProjectGameTRPGGameTRPG工具Excel2LuaExcel2LuaLua生成器cardexeinExcel2Lua.exe", null);
        }
        
        [MenuItem("工具/生成Lua Buff")]
        static void GenLuaBuff()
        {
            Debug.Log("生成Buff Lua");
            ProcessCommand(@"D:UnitySSDProjectGameTRPGGameTRPG工具Excel2LuaExcel2LuaLua生成器uffexeinExcel2Lua.exe", null);
        }
        
        
        
        private static void ProcessCommand(string command, string argument){
            ProcessStartInfo start = new ProcessStartInfo(command);
            start.Arguments = argument;
            start.CreateNoWindow = false;
            start.ErrorDialog = true;
            start.UseShellExecute = true;
     
            if(start.UseShellExecute){
                start.RedirectStandardOutput = false;
                start.RedirectStandardError = false;
                start.RedirectStandardInput = false;
            } else{
                start.RedirectStandardOutput = true;
                start.RedirectStandardError = true;
                start.RedirectStandardInput = true;
                start.StandardOutputEncoding = System.Text.UTF8Encoding.UTF8;
                start.StandardErrorEncoding = System.Text.UTF8Encoding.UTF8;
            }
     
            Process p = Process.Start(start);
     
            if(!start.UseShellExecute){
                Debug.Log(p.StandardOutput);
                Debug.Log(p.StandardError);
            }
     
            p.WaitForExit();
            p.Close();
        }
    }

    打开文件夹

        [MenuItem("工具/打开Excel文件夹")]
        static void OpenFolder()
        {
            string path = @"D:UnitySSDProjectGameTRPGGameTRPGAssetsStreamingAssetsExcelCOC7th";
            System.Diagnostics.Process.Start("explorer.exe", path);
        }

    参考资料:

    https://www.jianshu.com/p/3f4120a7c7f6

  • 相关阅读:
    java.io.EOFException ValueOperations.increment()操作后,获取值时有的bug
    使用maven profile指定配置文件打包适用多环境
    关于3Q大战和反垄断
    在ECUG2010上的演讲稿
    让Windows7在启动时自动挂载虚拟磁盘
    也谈并行计算(一)C#版的Parallel.For实现
    给.NET的string类添加一个命令行参数分解的扩展
    顺序表 code
    很高兴开始博客之旅 code
    (原)前端知识杂烩(css系列)
  • 原文地址:https://www.cnblogs.com/sanyejun/p/14221085.html
Copyright © 2020-2023  润新知