GetExitCodeProcess(pi.hProcess, &dwExitCode)

Kevin1993year 2015-07-28 08:22:24
是这样的,我这边需要做一个查看用户是否有.net framework的功能,
就是用户打开我们的系统需要先进行判断是否安装了.net环境,没有则需要安装,
我是通过C++来实现这个检测程序的,用CreateProcess函数创建子进程来执行安装.net环境,
用GetExitCodeProcess(pi.hProcess, &dwExitCode)来返回子进程执行完后的退出代码,
但是我现在想要知道,一是.net环境是否安装成功,二是用户是否真的安装了.net(比如他虽然点了确认,然后
弹出.net环境的安装程序,但是他又直接退出了,这对于创建子线程的主线程而言,子线程也算是结束了。。。),
所以想问下大家dwExitCode中值是否包含上面的几种情况,比如dwExitCode 为1则表示安装失败,为2则表示没有
安装(即直接退出安装),为3则表示安装成功?
...全文
361 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
飞翔的薄荷 2015-07-29
  • 打赏
  • 举报
回复
直接用 WaitForSingleObject( pi.hProcess, INFINITE ); 不是更好么
Kevin1993year 2015-07-29
  • 打赏
  • 举报
回复
引用 楼主 Kevin1993year 的回复:
是这样的,我这边需要做一个查看用户是否有.net framework的功能, 就是用户打开我们的系统需要先进行判断是否安装了.net环境,没有则需要安装, 我是通过C++来实现这个检测程序的,用CreateProcess函数创建子进程来执行安装.net环境, 用GetExitCodeProcess(pi.hProcess, &dwExitCode)来返回子进程执行完后的退出代码, 但是我现在想要知道,一是.net环境是否安装成功,二是用户是否真的安装了.net(比如他虽然点了确认,然后 弹出.net环境的安装程序,但是他又直接退出了,这对于创建子线程的主线程而言,子线程也算是结束了。。。), 所以想问下大家dwExitCode中值是否包含上面的几种情况,比如dwExitCode 为1则表示安装失败,为2则表示没有 安装(即直接退出安装),为3则表示安装成功?
额,不是,,看来只能再次检查一遍了。
阿源是少年 2015-07-28
  • 打赏
  • 举报
回复
检查注册表键值就可以了,安装了.net注册表会有反映,看这里http://blog.csdn.net/tastelife/article/details/8860002
fhw217 2015-07-28
  • 打赏
  • 举报
回复
引用
来返回子进程执行完后的退出代码
你用CreateProcess创建的那个子程序是自己做的吗? 如果是:可以自己定义进程退出代码,比如用ExitProcess(x),或者PostQuitMessage(x) 如果不是:那就要实际运行一下,看一下返回的代码是什么了。

15,471

社区成员

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

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