今天还是继续说说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 lpReserved;
public string lpDesk
public class SECURITY_ATTRIBUTES
{
public int nLength;
public string lpSecurityDescriptor;
public bool bInheritHandle;
}
[StructLayout(LayoutKind.Sequential)]
public struct STARTUPINFO
{
public int cb;
public string lpReserved;
public string lpDesk

本文介绍C#如何通过CreateProcess API启动外部程序,该方法比之前的方法更灵活,涉及多个结构体声明及Api调用。在示例中,如果程序执行时间长,进程会在WaitForSingleObject处阻塞,直到程序执行完毕或被中止。
最低0.47元/天 解锁文章
2万+

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



