首页 > 编程语言 >C# 启动exe并传参

C# 启动exe并传参

时间:2023-09-12 11:11:15浏览次数:38  
标签:传参 exe string C# myPro StartInfo exepath true

方法一:入参格式为(exe路径+空格+传参),例如:string exepath="E:\\呼叫端\\bin\\ces\\Debug\\呼叫器.exe 123"; 

若想在谷歌浏览器上打开某一个exe传参为:C:\Users\Administrator\Chrome\Application\chrome.exe  E:\\呼叫端\\bin\\ces\\Debug\\呼叫器.exe",

若想在浏览器上执行exe并在浏览器上不显示地址内容,则入参需加--app=传,例如:C:\Users\Administrator\Chrome\Application\chrome.exe  --app=E:\\呼叫端\\bin\\ces\\Debug\\呼叫器.exe"

 public bool RunCmd3(string exepath)
        {
            string fullStr = string.Empty;
            bool result = false;
            try
            {
                using (Process myPro = new Process())
                {
                    myPro.StartInfo.FileName = "cmd.exe";
                    myPro.StartInfo.UseShellExecute = false;
                    myPro.StartInfo.RedirectStandardInput = true;
                    myPro.StartInfo.RedirectStandardOutput = true;
                    myPro.StartInfo.RedirectStandardError = true;
                    myPro.StartInfo.CreateNoWindow = true;
                    myPro.Start();
                    //如果调用程序路径中有空格时,cmd命令执行失败,可以用双引号括起来 ,在这里两个引号表示一个引号(转义)
                    fullStr = string.Format("{0}{1}", exepath,"&exit");

                    myPro.StandardInput.WriteLine(fullStr);
                    myPro.StandardInput.AutoFlush = true;
                    myPro.WaitForExit();

                    result = true;
                }

                Utils.LogHelper.WriteLog(GetType(), "Cmd命令执行:" + fullStr);
            }
            catch (Exception ex)
            {
                Utils.LogHelper.WriteLog(GetType(), ex.Message);
            }
            return result;
        }

  方法二:exepath:传参内容;chromePath:启动的exe地址  例如:  string exepath="123";string chromePath="E:\\呼叫端\\bin\\ces\\Debug\\呼叫器.exe";

若想在谷歌浏览器上打开某一个exe传参为: string exepath="123";string chromePath="E:\\呼叫端\\bin\\ces\\Debug\\呼叫器.exe"

若想在浏览器上执行exe并在浏览器上不显示地址内容,则入参需加--app=传,例如: string exepath="123";string chromePath="--app=E:\\呼叫端\\bin\\ces\\Debug\\呼叫器.exe"

   public bool RunCmd3(string exepath,string chromePath)
        {
        try
            {
                using (Process myPro = new Process())
                {
                    myPro.StartInfo.FileName = chromePath;//需要启动的exe路径
                    myPro.StartInfo.Arguments = exepath; //参数传递
                    myPro.StartInfo.UseShellExecute = false;
                    myPro.StartInfo.RedirectStandardInput = true;
                    myPro.StartInfo.RedirectStandardOutput = true;
                    myPro.StartInfo.RedirectStandardError = true;
                    myPro.StartInfo.CreateNoWindow = true;
                    myPro.Start();

                    // 等待浏览器退出
                   // myPro.WaitForExit();

                    result = true;
                }

                Utils.LogHelper.WriteLog(GetType(), "传参为: " + exepath);
            }
            catch (Exception ex)
            {
                Utils.LogHelper.WriteLog(GetType(), "RunChrome异常错误为:" + ex.Message);
            }

            return result;
}

  

标签:传参,exe,string,C#,myPro,StartInfo,exepath,true
From: https://www.cnblogs.com/lydj/p/17695647.html

相关文章

  • webScoket重连机制,心跳机制
    webScoket可以实时获取数据,做到实时渲染的效果,但ws一直连接着还好,万一网络波动,断了呢。。。。那只能刷新页面,重新连接,但又不晓得啥时候断了,这时候就要用到心跳机制,对ws进行监视//WebSocket连接地址constwsUrl=ref('')//Ws实例constws=ref()onMounted(()=>{......
  • liunx部署.net core
    将Microsoft包签名密钥添加到受信任密钥列表,并添加Microsoft包存储库sudorpm-Uvhhttps://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm安装SDKsudoyuminstalldotnet-sdk-6.0安装ASP.NETCore运行时sudoyuminstallaspnetcore-run......
  • linux(centos7)安装防火墙firewalld及开放端口相关命令
    安装firewalld防火墙命令:yuminstallfirewalld  安装完成,查看防火墙状态为notrunning,即未运行,输入命令开启:  添加开放端口:   防火墙相关命令: 查看防火墙状态systemctlstatusfirewalld.service 打开防火墙systemctlstartfirewalld.service 关闭......
  • synchronized嵌套synchronized 案例
    publicclassMultiLockExample{privateObjectlock1=newObject();privateObjectlock2=newObject();publicvoidmethod1()throwsInterruptedException{synchronized(lock1){System.out.println("进入方法1");......
  • sersync2编译
    1、下载boost编译安装$cdpath/to/boost_1_64_0$./bootstrap.sh--help##配置选项,相当于configure$./bootstrap.sh--prefix=/usr/local##相当于make$./b2##相当于makeinstall$./b2install完成后boost库将出现在/usr/local/lib目录下到sersync2源码下直接执行命令m......
  • 使用json.dump(citys_data, f, ensure_ascii=False)写文件的时候,如果要写入汉字,则要指
    这个代码例子为获取链家网里所有的城市,然后将按照{省名:{市名:url},{市名:url}....}的方式importrequestsfromlxmlimportetreeimportjsondefget_all_city():url="https://www.lianjia.com/city/"#全国城市列表headers={'User-Agent':'Mozill......
  • vm - centos7 - 解决centos-home 比 centos-root 磁盘多的问题,将home的磁盘划分到root
    `此刻的磁盘信息如下[root@localhost/]#df-h文件系统容量已用可用已用%挂载点devtmpfs475M0475M0%/devtmpfs487M0487M0%/dev/shmtmpfs487M7.7M479M2......
  • 2023年9月深圳CPDA数据分析师认证报名到这里错不了
    CPDA数据分析师认证是大数据方面的认证,助力数据分析人员打下扎实的数据分析基础知识功底,为入门数据分析保驾护航。帮助数据分析人员掌握系统化的数据分析思维和方法论,提升工作效率和决策能力,遇到问题能够举一反三,为大部分决策难题提供解决方案。帮助数据分析人员掌握几种通用的数据......
  • oracle安装成功后,更改字符集
    看了网上的文章,乱码有以下几种可能 1.操作系统的字符集 2.oracleserver的字符集 3.客户端的字符集 1.查看oracle的字符集   1.selectuserenv('language')fromdual2.在Ubuntu中.bashrc中加入下边的话:   exportNLS_LANG=AMERICAN_AMERICA.ZHS16GBK(改掉操作系......
  • 运用navicat for mysql实现定时备份
    使用navicatformysql实现定时备份首先打开需要进行备份的数据库,使之被高亮选中。点击“Schedule”菜单,点击后将出现如下图所示的功能界面:点击“NewBatchJob”,点击后将出现如下图所示的功能界面:“General”选项卡中显示了指定数据库连接下各个数据库实例中......