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时程序出错
如以下方法不允许
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时程序出错
相关文章推荐
- Win7 64位操作系统下CreateProcess函数运行System32文件夹下批处理文件出错的原因
- Win7 64位操作系统下CreateProcess函数运行System32文件夹下批处理文件出错的原因
- oracle创建表空间出错的原因和解决办法
- Android 关于“NetworkOnMainThreadException”出错提示的原因及解决办法
- liuxin-线程调用Updatedata函数出错的解决办法
- eclipse hadoop windows 运行wordcount程序,上传文件内容为空的原因及解决办法
- jedis 连接 redis:Could not get a resource from the pool——我的出错原因和解决办法
- VS.NET提示"试图运行项目时出错:无法启动调试。绑定句柄无效"解决办法
- Android 关于“NetworkOnMainThreadException”出错提示的原因及解决办法
- tomcat配置好环境变量,运行出错解决办法
- scanf()函数在VS2013上运行报错的解决办法
- “试图运行项目时出错:无法在 web 服务器上启动调试。” 的解决办法
- eclipse 配置 Nokia SDK s60,配置完,运行出错的解决办法
- Python在Mac上运行matplotlib出错:RuntimeError: Python is not installed as a framework.解决办法
- 关于.cpp文件包含另一个.cpp文件出错的原因以及解决办法
- PythonWin运行出错解决办法
- parameter 3 from 'unsigned long (void *)' to 'unsigned long (__stdcall *)VC以类的成员函数作为线程调用函数时易出错问题解决办法
- Word"您正试图运行的函数包含有宏"解决办法
- VS.NET提示"试图运行项目时出错:无法启动调试。绑定句柄无效"解决办法
- jquery.min.map 404 (Not Found)出错的原因及解决办法