CreateProcess使用心得

来源:互联网 发布:敌在本能寺什么梗 知乎 编辑:程序博客网 时间:2024/06/11 06:58

1我们用CreateProcess执行一个外部程序时,怎样才能得到这个程序的输入输出呢?CreateProcess已经替我们准备好了,在CreateProcessSTARTUPINFO参数里有这样几个hStdInputhStdOutputhStdError东东,用来为创建的进程指定输入输出,例如CreateFile创建一个文件,接着把得到的文件句柄指定给hStdOutput,并且把dwFlags的值设为USESTDHANDLES,这样外部程序的输出就会输到这个文件里。注意:CreateFileSECURITY_ATTRIBUTES.bInheritHandle参数要设为TRUE

?

2Create系列函数中通常都会有一个SECURITY_ATTRIBUTES的参数,

? SECURITY_ATTRIBUTES sa;

????????? sa.nLength = sizeof(SECURITY_ATTRIBUTES);

????????? sa.lpSecurityDescriptor = NULL;

????????? sa.bInheritHandle = TRUE;

? 如果把bInheritHandle的值设为TRUE意思就是它所创建出来的东西是可以被其他子进程使用,例如用CreatePipe创建的管道可以用在CreateProcess创建的进程中。

?

3、用CreateProcess创建子进程时通过lpCurrentDirectory参数指定子进程运行的路径。

原创粉丝点击