Unity-打开另一个exe可执行程序并传入参数

之前有做过一个项目,通过外部exe可执行打开另一个exe可执行程序,并通过传入不同参数来加载不同场景,本章通过一个Unity案例来讲解如果传入参数和获取参数并进行处理。

一、打开exe可执行程序并传入参数

1、首先新建两个工程,这里我以TransferParameter项目做传入参数,以ReceiveParameter项目做接收参数,本案例使用Unity 2019.4.8制作。

2、搭建UI
在这里插入图片描述
在这里插入图片描述
3、新建Script脚本TransferParameter,并挂载在Canvas上,讲输入框与按钮拖入其中。
在这里插入图片描述

using System.Diagnostics;
using UnityEngine;
using UnityEngine.UI;

public class TransferParameter : MonoBehaviour
{
    public InputField inputField;           //输入框
    public Button button;                   //按钮

    private void Start()
    {
        //添加事件-打开exe可执行程序并传入参数
        button.onClick.AddListener(() => 
        {
            Process process = new Process();
            process.StartInfo.FileName = "C://ReceiveParameter/ReceiveParameter.exe";
            process.StartInfo.Arguments = inputField.text;
            process.StartInfo.UseShellExecute = true;
            process.Start();
        });
    }
}

这里就以绝对路径来表示,此路径为ReceiveParameter打包出来后的可执行程序,放置在C盘根目录。到此这部分已经结束,我们开始第二部分。

二、获取参数并处理

1、搭建场景和UI,新建Game1和Game2场景,并添加到Build Settings内部
这里比较简单,直接用text来表示当前进入的场景,主要目的是获取到传入的参数
在这里插入图片描述
在这里插入图片描述
2、新建Script脚本ReceiveParameter,并挂载在Start场景的主相机上。

using System.Collections.Generic;
using UnityEngine;
using System;
using UnityEngine.SceneManagement;

public class ReceiveParameter : MonoBehaviour
{
    private void Start()
    {
        List<string> commandLineArgs = new List<string>(Environment.GetCommandLineArgs());

        //取索引为>=1的部分 index=0的值为文件路径信息 
        string sceneName = commandLineArgs[1];

        if (sceneName.Equals("Game1"))
        {
            SceneManager.LoadScene("Game1");
        }
        else if (sceneName.Equals("Game2"))
        {
            SceneManager.LoadScene("Game2");
        }
    }
}

3、打包并放入C盘根目录,名称需要和设置的路径一直。

三、运行结果

在这里插入图片描述
后面会利用此功能实现利用VS Form或Unity传入json并解析进行处理

  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

StubbrnStar

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值