开启进程的参数配置例子
以下的程序开启一个进程,执行系统的命令提示符(98下为 command.com,2000下为 cmd.exe),目录为系统目录: STARTUPINFO si;
ZeroMemory(&si,sizeof(STARTUPINFO));
si.cb = sizeof(STARTUPINFO);
si.lpReserved = NULL;
si.lpReserved2 = NULL;
si.cbReserved2 = 0;
si.lpDesktop = NULL;
char SysDir[256];
GetSystemDirectory(SysDir,256);
si.dwFlags = 0;
si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
//以下三行是标准流的设置,一般你的程序不用
// si.hStdInput = sList[lCurNum].readInput;
// si.hStdOutput = sList[lCurNum].writeOutput;
// si.hStdError = sList[lCurNum].writeError;
si.wShowWindow = SW_SHOWDEFAULT;
// si.wShowWindow = SW_HIDE;
PROCESS_INFORMATION pi;
try
{
CreateProcess(getenv("COMSPEC"),NULL,NULL,NULL,TRUE,
CREATE_NEW_CONSOLE,NULL,SysDir,&si,&pi);
}
catch(...)
{
throw ERR_PROCESS_CREATE;
}
以下的程序开启一个进程,执行系统的命令提示符(98下为 command.com,2000下为 cmd.exe),目录为系统目录: STARTUPINFO si;
ZeroMemory(&si,sizeof(STARTUPINFO));
si.cb = sizeof(STARTUPINFO);
si.lpReserved = NULL;
si.lpReserved2 = NULL;
si.cbReserved2 = 0;
si.lpDesktop = NULL;
char SysDir[256];
GetSystemDirectory(SysDir,256);
si.dwFlags = 0;
si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
//以下三行是标准流的设置,一般你的程序不用
// si.hStdInput = sList[lCurNum].readInput;
// si.hStdOutput = sList[lCurNum].writeOutput;
// si.hStdError = sList[lCurNum].writeError;
si.wShowWindow = SW_SHOWDEFAULT;
// si.wShowWindow = SW_HIDE;
PROCESS_INFORMATION pi;
try
{
CreateProcess(getenv("COMSPEC"),NULL,NULL,NULL,TRUE,
CREATE_NEW_CONSOLE,NULL,SysDir,&si,&pi);
}
catch(...)
{
throw ERR_PROCESS_CREATE;
}
si.dwFlags = STARTF_USESTDHANDLES ¦ STARTF_USESHOWWINDOW;
请注释掉!
这一行设置标准输入输出及错误流使用用户自定义的。