C#启动一个外部程序(3)-CreateProcess

本文介绍C#如何通过CreateProcess API启动外部程序,该方法比之前的方法更灵活,涉及多个结构体声明及Api调用。在示例中,如果程序执行时间长,进程会在WaitForSingleObject处阻塞,直到程序执行完毕或被中止。
摘要由CSDN通过智能技术生成

今天还是继续说说C#调用系统Api启动外部程序的方法,今天要说的是CreateProcess这个Api函数,相比前两篇文章()中所说的Api,CreateProcess参数要更复杂一些,但使用起来,要更灵活。
1.

using  System.Runtime.InteropServices;

2. CreateProcess中用到了几个结构体类型,先声明他们:

        [System.Runtime.InteropServices.StructLayout(LayoutKind.Sequential)]
        
public   class  SECURITY_ATTRIBUTES
        {
            
public   int  nLength;
            
public   string  lpSecurityDescriptor;
            
public   bool  bInheritHandle;
        }

        [StructLayout(LayoutKind.Sequential)]
        
public   struct  STARTUPINFO
        {
            
public   int  cb;
            
public   string
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值