调用外部程序的几种方法

有详细介绍的博客:

C++执行外部程序(调用外部exe程序) - JavaShuo

C++调用外部应用程序的方法的整理总结(常用) (shuzhiduo.com)

我这里主要总结下几种方法的优缺点

前面三种方法,相对简单,但是使用也有局限,方法四相对复杂,但是灵活性高,能满足多种需求。System、ShellExecute和WinExec命令用于简单的作业。如果要完全控制一个新进程,就必须调用CreateProcess。

方法1. WinExec

WinExec()函数的作⽤是执⾏指定的程序。

使用示例:WinExec("e:\\1.exe", SW_SHOW);

方法2. System

system函数已经被收录在标准c库中,头文件为<stdlib.h>

使用示例:system("D:\\main.exe");

缺点:会有命令行窗口

方法3. ShellExecute

ShellExecute不只能够运行exe文件,也能够运行已经关联的文件

ShellExecute是异步执行的,不管执行的程序是否成功运行,运行的时间是长是短,ShellExecute函数都会立即返回

HINSTANCE hNewExe = ShellExecuteA(NULL, "open", "d:\\test.log", NULL, NULL, SW_SHOW);

方法4. CreateProcess

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值