社区
进程/线程/DLL
帖子详情
CreateProcess后调用WaitForSingleObject(pi.hProcess, INFINITE),进程没结束就返回了
lh172852173
2012-03-15 03:31:57
需要弄个卸载管理,用户按了卸载之后,等待卸载程序完成,才可以继续卸载。
CreateProcess后,调用WaitForSingleObject(pi.hProcess, INFINITE)
卸载程序还没有结束WaitForSingleObject就已经返回了。
求教原因,
...全文
487
8
打赏
收藏
CreateProcess后调用WaitForSingleObject(pi.hProcess, INFINITE),进程没结束就返回了
需要弄个卸载管理,用户按了卸载之后,等待卸载程序完成,才可以继续卸载。 CreateProcess后,调用WaitForSingleObject(pi.hProcess, INFINITE) 卸载程序还没有结束WaitForSingleObject就已经返回了。 求教原因,
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
HisinWang
2012-03-20
打赏
举报
回复
返回值已经表明pi.hProcess进程已经结束了啊。
向立天
2012-03-20
打赏
举报
回复
[Quote=引用 3 楼 lactoferrin 的回复:]
那个进程可能运行了另一个进程后就结束
[/Quote]
应该是这样
Eleven
2012-03-20
打赏
举报
回复
卸载程序也是你写吗?你让卸载程序完成以后给你个通知不行吗?
alexander_david
2012-03-20
打赏
举报
回复
[Quote=引用 4 楼 kaile 的回复:]
用CEvent.SetEvent替换 pi.hProcess试试
[/Quote]
++
Kaile
2012-03-19
打赏
举报
回复
用CEvent.SetEvent替换 pi.hProcess试试
Lactoferrin
2012-03-19
打赏
举报
回复
那个进程可能运行了另一个进程后就结束
lh172852173
2012-03-15
打赏
举报
回复
返回值就是WAIT_OBJECT_0 (0)
dahaiI0
2012-03-15
打赏
举报
回复
看下返回值是什么
C#打开exe,doc,excel程序并监视其是否关闭
PROCESS
_INFORMATION
pi
= new
PROCESS
_INFORMATION(); STARTU
PI
NFO si = new STARTU
PI
NFO(); si.cb = Marshal.SizeOf(si); StringBuilder sb = new StringBuilder(@"C:\WINDOWS\notepad.exe c:\1.txt"); if (
Create
Process
(null,sb, IntPtr.Zero, IntPtr.Zero, false, 0, IntPtr.Zero, IntPtr.Zero, ref si, ref
pi
)) { uint result =
Wait
For
Single
Object
(
pi
.h
Process
,
INFINITE
); if (result ==
WAIT
_
OBJECT
_0) { Int32 returnCode; if (GetExitCode
Process
(
pi
.h
Process
, out returnCode)) { MessageBox.Show("关闭了"); } } CloseHandle(
pi
.h
Process
); CloseHandle(
pi
.hThread); } 在WinForm中打开Word,Txt等,并监视其关闭
Wait
For
Single
Object
的用法-(判断一个程序是否
结束
)
你还再为怎么判断一个程序是否
结束
而苦恼吗?或许你在想可以用一个循环每隔几秒来判断一次这个
进程
是否
结束
,但是这样会有问题,如果间隔时间太短就会很占CPU 资源,间隔时间太长又不能及时知道程序已经
结束
,或许有人马上就想到
Wait
For
Single
Object
函数,不错Win32 A
PI
提供的这个函数能很好的解决这个问题,但是在使用
Wait
For
Single
Object
函数的过程中很容易忽略一些问题。小弟不才,在这里略说一二。先看一下函数的原形DWORD
Wait
For
Single
Objec
Wait
For
Single
Object
使用
Wait
For
Single
Object
的使用 你还再为怎么判断一个程序是否
结束
而苦恼吗?或许你在想可以用一个循环每隔几秒来判断一次这个
进程
是否
结束
,但是这样会有问题,如果间隔时间太短就会很占CPU 资源,间隔时间太长又不能及时知道程序已经
结束
,或许有人马上就想到
Wait
For
Single
Object
函数,不错Win32 A
PI
提供的这个函数能很好的解决这个问题,但是在使用
VC++中
进程
与多
进程
管理的方法详解
本文实例讲述了VC++中
进程
与多
进程
管理的方法,分享给大家供大家参考。具体方法分析如下: 摘要: 本文主要介绍了多任务管理中的多
进程
管理技术,对
进程
的互斥运行、子
进程
的创建与
结束
等作了较详细的阐述。 关键词: VC++6.0;
进程
;环境变量;子
进程
进程
进程
是当前操作系统下一个被加载到内存的、正在运行的应用程序的实例。每一个
进程
都是由内核对象和地址空间所组成的,内核对象可以让系统在其...
windows下 C 程序
调用
其他程序常见新的
进程
Create
Process
以及通过Terminate
Process
终止
进程
WinA
PI
执行外部程序和创建新
进程
:
Create
Process
(NULL,cmdOp,NULL,NULL,FALSE,CREATE_NEW_CONSOLE,NULL,NULL,&si,&
pi
) 执行一个外部程序实质上可以认为就是创建一个
进程
,windows系统下创建一个
进程
意味着: 1、创建一个内核对象:内核对象是windows系统用于管理
进程
的一个工具,可以认为是一个数...
进程/线程/DLL
15,471
社区成员
49,181
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章