sa:SECURITY_ATTRIBUTES;
/
/
定义安全属性
siinfo:STARTUPINFO;
/
/
新进程的STARTUPINFO结构体
sa.nLength:
=
sizeof(SECURITY_ATTRIBUTES);
/
/
设置安全属性
sa.lpSecurityDescriptor:
=
nil;
sa.bInheritHandle:
=
TRUE;
createpipe(hreadpipe1,hwritepipe1,@sa,
0
);
/
/
创建两个匿名管道
createpipe(hreadpipe2,hwritepipe2,@sa,
0
);
siinfo.dwFlags:
=
(STARTF_USESTDHANDLES
or
STARTF_USESHOWWINDOW);
siinfo.wShowWindow:
=
SW_HIDE;
/
/
新进程窗体隐藏
siinfo.hStdInput:
=
hreadpipe2;
/
/
新进程输入管道
siinfo.hStdOutput:
=
hwritepipe1;
/
/
新进程输出管道
siinfo.hStdError:
=
hwritepipe1;
/
/
新进程报错信息管道
StrPCopy(cmdpath,
'c:\windows\system32\cmd.exe'
);
/
/
设置cmd路径
CreateProcess(nil,cmdpath,nil,nil,true,
0
,nil,nil,siinfo,processinformation);
/
/
创建进程