主题:求助 在线等```
创建一个进程,打开Windows自带的命令行程序cmd.exe
程序如下:
#include<windows.h>
//#include<iostream>
int main(int argc,char *argv[])
{
char szCommandLine[]="cmd";
STARTUPINFO si={sizeof(si)};
PROCESS_INFORMATION pi;
si.dwFlags=STARTF_USESHOWWINDOW; //指定wShowWindow成员有效
si.wShowWindow=TRUE; //此成员设为TRUE的话则显示新建进程的主窗口
//为FALSE的话则不显示
BOOL bRet=::CreateProcess(
NULL,
szCommandLine,
NULL,
NULL,
FALSE,
CREATE_NEW_CONSOLE, //为进程创建一个新的控制台窗口
NULL,
NULL,
&si,
&pi);
if(bRet)
{ //既是不适用这两个句柄,最好是立刻将它们关掉
::CloseHandle(pi.hThread);
::CloseHandle(pi.hProcess);
}
return 0;
}
运行了两次,死了两次机,cmd会无限的弹出,哪里的毛病呢?
各位大侠。。。
程序如下:
#include<windows.h>
//#include<iostream>
int main(int argc,char *argv[])
{
char szCommandLine[]="cmd";
STARTUPINFO si={sizeof(si)};
PROCESS_INFORMATION pi;
si.dwFlags=STARTF_USESHOWWINDOW; //指定wShowWindow成员有效
si.wShowWindow=TRUE; //此成员设为TRUE的话则显示新建进程的主窗口
//为FALSE的话则不显示
BOOL bRet=::CreateProcess(
NULL,
szCommandLine,
NULL,
NULL,
FALSE,
CREATE_NEW_CONSOLE, //为进程创建一个新的控制台窗口
NULL,
NULL,
&si,
&pi);
if(bRet)
{ //既是不适用这两个句柄,最好是立刻将它们关掉
::CloseHandle(pi.hThread);
::CloseHandle(pi.hProcess);
}
return 0;
}
运行了两次,死了两次机,cmd会无限的弹出,哪里的毛病呢?
各位大侠。。。