利用WaitForInputIdle等待初始化完成CreateProcess
2
3 BOOL WINAPI CreateProcess(
4 __in_opt LPCTSTR lpApplicationName,
5 __inout_opt LPTSTR lpCommandLine,
6 __in_opt LPSECURITY_ATTRIBUTES lpProcessAttributes,
7 __in_opt LPSECURITY_ATTRIBUTES lpThreadAttributes,
8 __in BOOL bInheritHandles,
9 __in DWORD dwCreationFlags,
10 __in_opt LPVOID lpEnvironment,
11 __in_opt LPCTSTR lpCurrentDirectory,
12 __in LPSTARTUPINFO lpStartupInfo,
13 __out LPPROCESS_INFORMATION lpProcessInformation
14 );
15
16 //
17 DWORD WINAPI WaitForInputIdle(
18 __in HANDLE hProcess,
19 __in DWORD dwMilliseconds
20 );
21 Return code/value Description
22 0
23 The wait was satisfied successfully.
24
25 WAIT_TIMEOUT
26 The wait was terminated because the time-out interval elapsed.
27
28 WAIT_FAILED
29 An error occurred.
30
31
32 // 创建子进程
33 STARTUPINFO startup;
34 PROCESS_INFORMATION procinfo;
35 ::ZeroMemory(&startup, sizeof(startup));
36 startup.cb = sizeof(startup);
37 startup.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
38 startup.wShowWindow = SW_HIDE; // hidden console window
39 startup.hStdInput = NULL; // not used
40 startup.hStdOutput = hPipeOutW;
41 startup.hStdError = hPipeErrW;
42
43 BOOL started = ::CreateProcess(NULL, // command is part of input string
44 _command, // (writeable) command string
45 NULL, // process security
46 NULL, // thread security
47 TRUE, // inherit handles flag
48 CREATE_SUSPENDED, // flags
49 NULL, // inherit environment
50 _curDir, // inherit directory
51 &startup, // STARTUPINFO
52 &procinfo); // PROCESS_INFORMATION
53 if(!started)
54 {
55 error(TEXT("CreateProcess"), result, 1002);
56 }
57 else
58 {
59 if (WaitForInputIdle(pinfo.hProcess, 30000) == 0)
60 {
61 // ......
62 }
63 }
64
65 CloseHandle(procinfo.hThread);
66 CloseHandle(procinfo.hProcess);
转载于:https://www.cnblogs.com/noselhq/archive/2012/11/08/2760374.html
利用WaitForInputIdle等待初始化完成CreateProcess相关推荐
- 利用反射判断初始化后的对象所有属性是否为空判断对象指定属性是否为空
如果是初始化的对象是无法仅通过对象!=null来判断其是否为空的. 我认为有两个方法判断其是否为空: 一是,对其循环遍历,判断属性是否为空 二是,判断其某个必输 ...
- 利用Python延迟初始化提升性能
所谓类属性的延迟计算就是将类的属性定义成一个property,只在访问的时候才会计算,而且一旦被访问后,结果将会被缓存起来,不用每次都计算.构造一个延迟计算属性的主要目的是为了提升性能 propert ...
- 自己动手写简单的web应用服务器(4)—利用socket实现文件的下载
直接上源码: 服务器: 1 package download; 2 3 import java.io.BufferedInputStream; 4 import java.io.BufferedOut ...
- dell服务器630虚拟盘初始化,DELL服务器配置Raid的步骤
磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能.下面是学习啦小编收集整理的DELL 服务器配置Raid的步骤,希望对大家有帮助~~ ...
- 安卓连接linux软件,利用 Telnet 无线控制安卓手机 无需 Root
以往的文章里菲菲君一直在极力推荐 adb 来远程执行安卓 shell 命令,虽然 adb 也支持无线连接但需 Root 权限(现在的 Android 真的没有 Root 的必要了),连接数据线又很麻烦 ...
- 利用Adobe AIR本地扩展支持Android开发
http://bbs.9ria.com/thread-180609-1-1.html 学前准备... 2 所需知识... 2 额外工具... 2 用户等级... 2 例子文件... 2 设置AIR S ...
- 利用Python探测附近WIFI密码的详细代码
前言 本文将记录学习下如何通过 Python 脚本实现 WIFI 密码的暴力破解,从而实现免费蹭网. 无图形界面 先来看看没有图形界面版的爆破脚本. WIFI爆破 1 2 3 4 5 6 7 8 9 ...
- python利用多线程批量下载高清美女图片(350秒下载近3600张1.2个G的照片,地址可变)
目录 第一章.前言 1.1.实现的效果: 1.2.需要用到的库: 第二章.代码分块讲解 2.1.对象的定义和初始化 2.2.方法1和2获取所有图集链接 2.2.1. 对应网站结构 2.2.2 .相应代 ...
- 为uThreadPool增加线程池等待功能
unit uThreadPool; { aPool.AddRequest(TMyRequest.Create(RequestParam1, RequestParam2, ...)); } interf ...
- 互斥信号量的等待与通知
文章目录 1 互斥信号量的等待与通知 1.1 设计原理 1.2 设计实现 1 互斥信号量的等待与通知 1.1 设计原理 等待互斥信号量: 信号量未被占有: 标记为已占有. 锁定次数+1. 信号量被自己 ...
最新文章
- 注入Attention,精度涨30%!谷歌发表最新多目标“动态抠图”模型
- 无线网络(5) 无线网络安全性
- 2016级算法第一次练习赛-E.AlvinZH的儿时回忆——蛙声一片
- QQ 相册后台存储架构重构与跨 IDC 容灾实践
- 使用Seata彻底解决Spring Cloud中的分布式事务问题!
- Docker自动补全容器名
- 提升不止一点点,Dubbo 3.0 预览版详细解读
- 机器博弈 (三) 虚拟遗憾最小化算法
- Oracle swap 100%案例分析
- opencv之透视变换cvWarpPerspective
- 总结的iOS、mac开源项目及库,持续更新。。。。 github排名 https://github.com/trending,github搜索:https://github.com/search
- 计算机网络最早出现在哪个年代
- excel复选框_使用复选框更改Excel公式结果
- linux系统属于操作系统吗,linux属于什么操作系统
- 联想小新300加固态_Lenovo 联想 小新310 硬盘移位加装SSD
- python:实现base64加密和base64解密算法(附完整源码)
- php获取汉字的首字母,PHP获取汉字的首字母
- 【微信小程序/云开发bug解决方案合集】持续更新中(最新22-11-21)
- nexus上传jar总是读条而上传不成功的问题
- ARM最强CPU/GPU来了!A75、G72首发:性能爆炸
热门文章
- Windows 8实用窍门系列:16.Windows 8的右键菜单
- SQL SERVER 2008的转置函数PIVOT
- 台企招聘一名PHP程序員
- ASP.NET(C#)常用数据加密和解密方法1
- FireMoneky 画图 Point 赋值
- 在java EE版本eclipse下如何查看tomcat部署的位置 。版权声明:本文为博主原创文章,未经博主允许不得转载。...
- 诺基亚入门级音乐手机售319元
- 一个很好的反选的例子
- java day30【数据库连接池 、Spring JDBC : JDBC Template】
- BUAA软工第0次作业