您的位置:首页 > 其它

Createprocess 函数运行出错的原因和解决办法

2012-01-30 21:39 387 查看
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);

如果用1 2 两种写法会导致在执行到CreateProcess时程序出错
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐