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

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时程序出错
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值