CreateProcess函数用于创建流程,其中一个参数是要执行的命令。 由于此值在createprocess函数中更改,因此在传递参数时不能传递常数。
以下方法不允许
1:createprocess(NULL,_t ) calc.exe )、NULL,NULL,TRUE,0,NULL,NULL,si,pi );
2:
consttcharscmd[]=_t(calc.exe );
createprocess (空、sCmd、空、空、真、0、空、空、si、pi );
尽量用以下方法:
CString strCMD;
srcmd=_t(calc.exe );
createprocess(NULL,strCMD.GetBuffer )、NULL,NULL,TRUE,0,NULL,NULL,si,pi );
或:
tcharscmd[]=_t(calc.exe );
createprocess (空、sCmd、空、空、真、0、空、空、si、pi );
如果采用1、2这两种书写方式,则在运行到CreateProcess时程序会出错