文档章节

delphi 运行外部程序函数winexec WinExecAndWait32 CreateProcess

依宸2016
 依宸2016
发布于 2016/11/11 12:19
字数 181
阅读 136
收藏 0

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

转载地址:http://blog.sina.com.cn/s/blog_7fdf737901013vgh.html

运行外部程序但不需等待winexec

运行外部程序并等待外部程序结束才返回结果的函数

function WinExecAndWait32(FileName: string; Visibility: Boolean): integer;
var
  zAppName: array[0..512] of char; //存放应用程序名
  StartupInfo: TStartupInfo;
  ProcessInfo: TProcessInformation;
  exitCode: Dword;
  aVisibility: integer;
begin  
  StrPCopy(zAppName, FileName);  
  FillChar(StartupInfo, Sizeof(StartupInfo), #0);  
  //给StartupInfo结构体赋值
  StartupInfo.cb := Sizeof(StartupInfo);  
  StartupInfo.dwFlags := STARTF_USESHOWWINDOW;  
  if Visibility then  
  aVisibility := 1
  else  
  aVisibility := 0;

  StartupInfo.wShowWindow := aVisibility;
  //调用CreateProcess 创建进程,执行指定的可执行文件
  if not CreateProcess(nil, zAppName, nil, nil, false
  , CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS
  , nil, nil, StartupInfo, ProcessInfo) then
  Result := -1
  else
  begin
  //等待可执行文件退出
  WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
  //得到进程终止状态码
  GetExitCodeProcess (ProcessInfo.hProcess, exitCode);
  result := exitCode;
  end;
end;

本文转载自:http://blog.csdn.net/liwb1987/article/details/42242389

依宸2016
粉丝 1
博文 94
码字总数 0
作品 0
济南
高级程序员
私信 提问
VC 调用外部程序接口

(1) system() 函数名: system 功 能: 发出一个DOS命令 用 法: int system(char *command); 备 注: system函数已经被收录在标准c库中,可以直接调用 返回值 =-1:出现错误 =0:调用成功但是没有...

长平狐
2013/01/06
75
0
Delphi WinExec ShellExec 用法介绍

Delphi WinExec ShellExec 用法介绍 在Windows程序设计中WinAPI也为我们提供了类似的函数,它们就是WinExec()和ShellExecute(),下面就来讨论一下这两个函数的用法。 1)WinExec() 函数原型:...

vga
2016/03/28
176
0
运行外部程序

win32中 主要有 WinExec ShellExecute CreateProcess 后2者可以设置exe工作目录 系统函数中用 system

梦想游戏人
2016/06/10
4
0
WinExec, ShellExecute,CreateProcess的对比

三个SDK函数: WinExec, ShellExecute,CreateProcess可以实现调用其他程序的要求,其中以WinExec最为简单,ShellExecute比WinExec灵活一些,CreateProcess最为复杂。 WinExec 两个参数,前一...

greatdiviner
2014/07/12
447
0
WinExec函数,启动其他应用程序

WinExec The WinExec function runs the specified application. Note This function is provided only for compatibility with 16-bit Windows. Applications should use the CreateProcess......

长平狐
2012/10/08
167
0

没有更多内容

加载失败,请刷新页面

加载更多

dynamic-connectivity 动态连通性问题之 quick-union 算法

quick-union 的思想是:若对象 p 的 root_id 和对象 q 的 root_id 相等,则认为 p 和 q 连通。 若要将对象 p 和对象 q 连通(已知两对象未连通),则将 p 的 root_id 的值设为 q 的 root_id ...

Phpythoner_Alei
今天
40
0
OSChina 周六乱弹 —— 实在选不出来就唱国歌

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @花间小酌 :#今日歌曲推荐# 分享阿冗的单曲《你的答案》。--祝大家在2020年都找到自己答案。 《你的答案》- 阿冗 手机党少年们想听歌,请使劲...

小小编辑
今天
25
1
Maven打包可执行Jar包的方法

在使用Java开发中,会使用到将工程打包成可执行的jar包的情况,那么在maven中怎么将项目中的依赖包都添加到jar中呢。在pom.xml中添加一下插件: <build><plugins><plugin><ar...

CapJes
今天
13
0
使用vue 开发地图类系统(openlayers.js)的注意。

使用vue 开发地图类系统的注意。 1、使用地图应该创建的对象 少使用 vue 的data 和计算属性(comments)存数据或是vuex。 为什么要要注意这个问题呢? 答:这个就要了解到vue的实现原理 。原理...

DY-Tao
昨天
10
0
web移动端学习:高德地图demo(一)

在高德地图开发中申请开发者资格,然后在控制台中新建应用,获得KEY; 新建模板HTML文件; <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>地图demo</title><scri......

dxiya
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部