首页
社区
课程
招聘
[求助]CreateProcess 的小问题
2008-12-15 12:11 5207

[求助]CreateProcess 的小问题

2008-12-15 12:11
5207
写一个Loader ,用到了CreateProcess,但随之而来的一个小问题,被启动的程序报错,其原因可能是其无法获取到命令行而造成的。

用资源管理器加载的EXE都能看见映象路径,而用CreateProcess加载的看不见?
类似下图的情况,(只是举例,红色框中的文件不是我要加载的文件)


代码类似下面的:
// Start the child process.
    if( !CreateProcess( NULL,   // No module name (use command line)
        argv[1],        // Command line
        NULL,           // Process handle not inheritable
        NULL,           // Thread handle not inheritable
        FALSE,          // Set handle inheritance to FALSE
        0,              // No creation flags
        NULL,           // Use parent's environment block
        NULL,           // Use parent's starting directory
        &si,            // Pointer to STARTUPINFO structure
        &pi )           // Pointer to PROCESS_INFORMATION structure
    )
    {
        printf( "CreateProcess failed (%d)\n", GetLastError() );
        return;
    }

求解

[培训]内核驱动高级班,冲击BAT一流互联网大厂工 作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
打赏
分享
最新回复 (4)
雪    币: 164
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
blackboy 2008-12-16 18:48
2
0
可以先写个打印参数的小程序
然后用你loader加载
查看参数是否正常
一切OK后
再加载的目标程序
雪    币: 75
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
bird 2009-1-11 04:11
3
0
第八的一个参数。。。。。不能为空
雪    币: 101
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
scopion 2009-1-22 09:48
4
0
你创建的进程就没有路径, 人家怎么显示路径啊 ?
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
DazzleJ 2009-1-22 09:58
5
0
3L正解....工作目录不能为空...
游客
登录 | 注册 方可回帖
返回