CreateProcess函数用来创建一个进程,在参数中有一个就是执行的命令。这个值在createprocess函数内部是会被改变的,所以在传递参数的时候不允许传const类型常量。
如以下方法不允许
1:CreateProcess(NULL,_T("calc.exe'),NULL,NULL,TRUE,0,NULL,NULL,&si,&pi);2:
const TCHAR sCmd[]=_T("calc.exe");
CreateProcess(NULL, sCmd,NULL,NULL,TRUE,0,NULL,NULL,&si,&pi);
尽量用以下方法:
CString strCMD;
strCMD= _T("calc.exe");
CreateProcess(NULL,strCMD.GetBuffer(),NULL,NULL,TRUE,0,NULL,NULL,&si,&pi);
或:
TCHAR sCmd[]=_T("calc.exe");
CreateProcess(NULL, sCmd,NULL,NULL,TRUE,0,NULL,NULL,&si,&pi);