- //打开外部程序
- public void StartExe(){
- //获取路径
- string dir=Environment.CurrentDirectory;
- ProcessStartInfo pi=new ProcessStartInfo();
- pi.FileName=dir+"/1.exe";
- pi.Argrments=js.ToJson();//传递json
- vrar=Process.Start(pi);//获取进程
- //绑定外部程序关闭的事件
- vrar.EnableRaisingevents=true;
- vrar.Exited+=new EventHandler(VRARExit);
- //外部程序获取焦点
- SetForegroundWindow(vrar.MainWindowHandle);
- }
- [DllImport("USER32.DLL")]
- public static extern bool SetForegroundWindow(IntPtr mainWindowHandle);
- void VRARExit(obect sender,EventArgs e){
- Debug.Log("外部程序已经关闭");
- }
- //外部程序接收参数
- private static void ReceiveJson(){
- string[] args=Environment.GetCommandLineArgs();//获取参数
- string str="";
- for(int i=1;i<args.Length;i++){
- str+=args[i];
- }
- JsonData js=JsonMapper.ToObject(str);//转换成json
- }
unity3d:unity启动外部程序,并传递参数(json)
最新推荐文章于 2024-12-04 11:51:53 发布
这段代码展示了如何在C#中启动一个外部应用程序,传递JSON参数,并监听其关闭事件。通过`ProcessStartInfo`类设置文件路径和参数,然后使用`Process.Start()`启动程序。同时,使用`SetForegroundWindow`使外部程序获取焦点。当外部程序关闭时,触发`Exited`事件并打印日志。

3293

被折叠的 条评论
为什么被折叠?



