CreateProcess函数启动子进程出错的原因
2010-08-06 18:36
246 查看
今天用CreateProcess函数启动本目录下的一个.exe文件,每次一启动都出错
::CreateProcess(NULL, _T("XX.exe"), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
在win7系统下一用这个函数,都会弹出XX.exe无法运行,问是否调试还是关闭和对话框。改启动系统的cmd.exe也不行。
多次尝试才知道原来第二个参数要以参数的形式传进去。即
TCHAR cmdLine[30]={_T("XX.exe")};
然后再调用
::CreateProcess(NULL, cmdLine,NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
才能正常启动子程序。
::CreateProcess(NULL, _T("XX.exe"), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
在win7系统下一用这个函数,都会弹出XX.exe无法运行,问是否调试还是关闭和对话框。改启动系统的cmd.exe也不行。
多次尝试才知道原来第二个参数要以参数的形式传进去。即
TCHAR cmdLine[30]={_T("XX.exe")};
然后再调用
::CreateProcess(NULL, cmdLine,NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
才能正常启动子程序。
相关文章推荐
- Createprocess 函数运行出错的原因和解决办法
- Win7 64位操作系统下CreateProcess函数运行System32文件夹下批处理文件出错的原因
- Win7 64位操作系统下CreateProcess函数运行System32文件夹下批处理文件出错的原因
- intel processor unicode下strlen函数返回值出错原因
- linux kernel 中断处理函数里不能进程调度的原因
- 在一个程序中加载另一程序使用GlobalFree()函数出错的原因
- 第四章 进程(6)CreateProcess函数详解
- 第四章 进程(7)CreateProcess函数详解
- 思路:如何跳过CreateProcess调用底层创建进程函数
- (找到原因了)(又改了下,感觉有个最下面那块函数,应传入指针的指针)求求哪位大神给看看吧,为何注释部分放开竟然会出错,琢磨一天了啊,万分感谢!!!!!!!!!!!!!!!!!!!!
- 思路:如何跳过CreateProcess调用底层创建进程函数
- 调用另一个进程,createprocess返回值正确,但被调进程连入口函数都没进入。
- 思路:如何跳过CreateProcess调用底层创建进程函数
- linux kernel 中断处理函数里不能进程调度的原因
- CreateProcess 创建带命令行参数的进程时,报错或者提示内存位置无效的可能的一个原因
- 思路:如何跳过CreateProcess调用底层创建进程函数
- CreateProcess 创建进程失败原因调查
- 进程创建函数CreateProcess()与创建流程详解
- Windows进程线程函数 - CreateProcess
- 关于创建进程函数CreateProcess()字符串参数的说明