zoukankan      html  css  js  c++  java
  • C#父子进程调用的一些问题(C#博客第四周)

    本文将简单介绍C#调用exe的方法。在C#中,通过Process类来进行进程操作。 Process类在System.Diagnostics包中。

    示例一

    using System.Diagnostics;
    
    Process p = Process.Start("notepad.exe");
    p.WaitForExit();//等待外部程序退出后才能往下执行

    通过上述代码可以调用记事本程序,注意如果不是调用系统程序,则需要输入全路径。

    示例二

    当需要调用cmd程序时,使用上述调用方法会弹出令人讨厌的黑窗。如果要消除,则需要进行更详细的设置。

    Process类的StartInfo属性包含了一些进程启动信息,其中比较重要的几个

    FileName                可执行程序文件名

    Arguments              程序参数,已字符串形式输入  CreateNoWindow     是否不需要创建窗口  UseShellExecute      是否需要系统shell调用程序

    通过上述几个参数可以让讨厌的黑屏消失

    System.Diagnostics.Process exep = new System.Diagnostics.Process();
    exep.StartInfo.FileName = binStr;
    exep.StartInfo.Arguments = cmdStr;
    exep.StartInfo.CreateNoWindow = true;
    exep.StartInfo.UseShellExecute = false;
    exep.Start();
    exep.WaitForExit();//等待外部程序退出后才能往下执行

    或者

    System.Diagnostics.Process exep = new System.Diagnostics.Process();
    System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
    startInfo.FileName = binStr;
    startInfo.Arguments = cmdStr;
    startInfo.CreateNoWindow = true;
    startInfo.UseShellExecute = false;
    exep.Start(startInfo);
    exep.WaitForExit();//等待外部程序退出后才能往下执行
  • 相关阅读:
    设置文本框的 placeholder 的颜色
    CSS单行文字超出省略
    【持续跟新】剑指Offer_Java实现
    Android必修课-Activity生命周期
    如何查看Android的jks签名的MD5
    Flutter 文字边框/边框颜色
    Flutter initState 初始化调用 Provide报错
    flutter 系统通知栏Demo 基于flutter_local_notifications: ^1.4.1
    # Flutter学习笔记(一)
    一个技术人毕业到就业的思考
  • 原文地址:https://www.cnblogs.com/Theshy/p/4399237.html
Copyright © 2011-2022 走看看