关于CreateProcess的参数应用问题

lee_mq 2003-04-04 11:38:01
请教,在CreateProcess()中,我用GUI的程序,调用控制台(CUI)程序,
不知如何设置函数参数,能否详细解答一下。
特别是,调用的CUI程序还需要增加环境变量设置(lpvEnvironment),
完整的过程该如何做呢?
如果在lpszApplicationName中以将CUI程序路径包含了,是否还要设置
lpszCurDir,lpszCurDir究竟作用是什么?
谢谢你的回答?
...全文
37 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
In355Hz 2003-04-04
  • 打赏
  • 举报
回复
如果没有指定 lpCurrentDirectory, 新近城使用父进程的默认驱动器和目录。
环境参数 lpvEnvironment 是一组字符串,格式为
"xxx=xxxxx\0xxxxx2=xxxxxxxxx\0....\0xx=xxx\0\0" (0 代表 char(0))
laolaoliu2002 2003-04-04
  • 打赏
  • 举报
回复
CurrDir确定了新进程的默认驱动器和目录。
jiadrun 2003-04-04
  • 打赏
  • 举报
回复
STARTUPINFO stStartUpInfo;
PROCESS_INFORMATION stProcessInfo;
memset(&stStartUpInfo,0,sizeof(STARTUPINFO));
stStartUpInfo.cb = sizeof(STARTUPINFO);
// szCommandLine放应用程序的路径
BOOL bOK = CreateProcess(NULL,(LPTSTR)szCommandLine,NULL,NULL,TRUE, NORMAL_PRIORITY_CLASS,NULL,NULL,&stStartUpInfo,&stProcessInfo);
if ( FALSE == bOK ) {
return -1;
}

// 等待程序执行完成
WaitForSingleObject(stProcessInfo.hProcess,INFINITE);
CloseHandle(stProcessInfo.hProcess);

lpszApplicationName:是告诉系统进程的位置
lpszCurDir:进程工作的目录环境。如果为空,则当前目录环境为主线程运行时的所在目录。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧