VC程序设计中CreateProcess用法注意事项

对于windows程序设计来说,启动一个进程有三种方法:WinExec,ShellExecute,CreateProcess。这里仅对CreateProcess的用法加以说明。

对于CreateProcess的详细参数读者可以查MSDN和《Windows API参考手册》,这里不具体说明。下面给出常用的方法:

STARTUPINFO startup;

ZeroMemory( &startup, sizeof(startup) );

startup.cb = sizeof(startup);

ZeroMemory( &m_procInfo, sizeof(m_procInfo) );

// 初始化结果体是必须的,否则会异常

BOOL bRetVal = ::CreateProcess( (LPCWSTR)strProcPath,

NULL,

NULL,

NULL,

FALSE,

0,

NULL,

NULL,

&startup,

&m_procInfo );

if ( !bRetVal )

{

AfxMessageBox( _T( "启动失败!" ) );

}

说明:第一个参数是应用程序的全路径,第二个参数是命令行参数。如果第一个参数为空,就必须在第二个参数中指定应用程序的路径。

如果启动的进程与当前进程不再同一个目录下,则第八个参数必须指定,第八个参数为启动的进程所在的路径。否则不能成功启动进程。如下所示:

BOOL bRetVal = ::CreateProcess( (LPCWSTR)strProcPath,

NULL,

NULL,

NULL,

FALSE,

0,

NULL,

(LPCWSTR)strProcFolder,

&startup,

&m_procInfo );

if ( !bRetVal )

{

AfxMessageBox( _T( "启动失败!" ) );

}相关阅读:

MYSQL数据库中cmd命令操作详解

MySQL查询倒数第二条记录实现方法

Jquery ajax执行顺序 返回自定义错误信息(实例讲解)

浅谈使用PHP开发微信支付的流程

Win7还原任务栏默认设置解决设置错等问题

浅析关于PHP位运算的简单权限设计

快速掌握WordPress中加载JavaScript脚本的方法

Android如何实现非本地图片的点击态

Win10预览版Edge浏览器如何安装Lastpass密码管理器

深入浅析SQL Server 触发器

浅析MySQL内存的使用说明(全局缓存+线程缓存)

mysql使用SQLyog导入csv数据不成功的解决方法

详解三种java实现多线程的方式

CI框架在CLI下执行占用内存过大问题的解决方法

createprocess重启程序_C++_VC程序设计中CreateProcess用法注意事项,对于windows程序设计来说,启动 - phpStudy...相关推荐

  1. c语言程序设计中北答案详解,C语言程序设计试题及答案解析汇编.doc

    C语言程序设计试题及答案解析汇编 C语言程序设计试题 第1.2.3章 概述.类型.表达式 一.选择题 一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:( ) 任意 第一个函数必须是主函数, ...

  2. createprocess重启程序_win32取CreateProcess启动程序的返回值

    有时候需要在主线程中启动一个程序来处理一些事情,然后返回一个结果,比如一些在线更新的程序一般有一个主程序和一个升级程序.主程序调用升级程序,升级程序会有返回值正常情况下是返回一个0值, 这里可以根据自 ...

  3. mysql中exeits用法_MySQL 8 在 Windows 下安装及使用

    MySQL 8 带来了全新的体验,比如支持 NoSQL.JSON 等,拥有比 MySQL 5.7 两倍以上的性能提升.本文讲解如何在 Windows 下安装 MySQL 8,以及基本的 MySQL 用 ...

  4. [程序] 程序设计中的范畴论 (第一部分)

    程序设计中的范畴论 (第一部分) 文章目录 程序设计中的范畴论 (第一部分) 0 引言 0.1 抽象 0.2 悖论 1 范畴 (Category) 1.1 交换图 1.2 示例 正整数与偏序关系 矩阵 ...

  5. lisp用entmake生产圆柱体_entmake函数在AutoLisp程序设计中应用探究.doc

    entmake函数在AutoLisp程序设计中应用探究 entmake函数在AutoLisp程序设计中应用探究摘要:主要介绍了AutoLisp二次开发AutoCAD过程中entmake函数的功能.性能 ...

  6. 程序设计中常用的解题策略 pdf电子书

    重要提示该尊敬的用户您好,由于该程序设计中常用的解题策略pdf书受百度网盘影响无法做公共分享,只能私密分享,有不到之处请多多谅解! 百度网盘链接: http://pan.baidu.com/s/107 ...

  7. COLLATE oracle,Sql 中Collate用法

    今天查询sqlite的时候需要不区分大小写,查了下文档,需要使用collate nocase.顺便学习下collate的用法. collate在sql中是用来定义排序规则的.排序规则其实就是当比较两个 ...

  8. CreateProcess()接收程序的输出

    环境:win10 64位,vs2015 mfc程序 目的:记录CreateProcess()接收启动程序的输出.注:cmd程序,而不是带ui的程序 起始原由:通过调用git工具来完成自己的一些需求 参 ...

  9. linux中程序定时重启脚本,linux下通过脚本实现自动重启程序的方法

    烈火建站学院(LieHuo.Net)转载无论什么程序都不可能完美无缺,理论上,任何程序都有 Core Dump 的一天,正式运营的程序,尤其是服务器程序,一旦 Core Dump ,后果不堪设想,有过 ...

最新文章

  1. 张立贤:积跬步至千里,我与地学大数据的探索之旅 | 提升之路系列(五)
  2. 除了eWTP试验区,阿里云还要在马来西亚部署全球第15座数据中心
  3. SQL之 UNION ALL 和UNION
  4. 计算机桌面图标的排列,如何进行桌面图标排列 让你的桌面一秒变酷炫【图文教程】...
  5. 【C语言】编译预处理和宏(附带##介绍)
  6. 飞龙的程序员书单 – Linux
  7. 如何在矩池云GPU云中安装MATLAB R2016b软件
  8. http协议介绍及httpd特性详解
  9. HashMap和LinkedHashMap的遍历和插入顺序
  10. [Alpha阶段]发布说明
  11. Aittit.attilax超级框架 api 规划大全
  12. oracle内连接左连接右连接,ORACLE 左连接 右连接 内连接 区别
  13. 收银系统源码,又又升级最新下载sass版了
  14. delphi跨平台linux的版本,Delphi 2011 发布了 跨 MAC,LINUX,WINDOWS 平台
  15. Redis一主二从Sentinel监控配置
  16. 使用Java的Graphics类进行绘图
  17. JAVA日志框架与日志系统
  18. hiberfil.sys是什么文件?可以删除吗?
  19. Luminar 4:AI 人像照片增强器
  20. 《山里的日子(记录片)》观后感——回不去的农村

热门文章

  1. 人口普查系统_晋江市召开第七次人口普查区域划分及标绘系统操作培训会
  2. php 元素插入数组指定位置,数组任意位置插入元素,删除特定元素的实例
  3. java在己有的类创子类怎么创_使用Java创建自己的异常子类...
  4. c ajax 上传图片,ajax +NodeJS 实现图片上传实例
  5. Hyperset(排序+二分)
  6. 整数序列(牛客,线段树)
  7. python3爬取带密码的网站_Python3 爬取网站收藏数超过70的 情侣网名
  8. 个人网站备案起名_郑州诚信个人商标注册电话
  9. 运放电路分析_运放参数的详细解释和分析part4运放噪声
  10. 信息竞赛进阶指南--搜索相关(模板)