没有合适的资源?快使用搜索试试~ 我知道了~
C++中运行外部程序.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 126 浏览量
2022-11-04
07:13:21
上传
评论
收藏 322KB PDF 举报
温馨提示
试读
7页
。。。
资源推荐
资源详情
资源评论
关于三个 SDK 函数: WinExec, ShellExecute,CreateProcess 的其他注意事项:
【1】定义头文件
必须定义以下两个头文件:
#include <shlobj.h> // 可替换为 windows.h
#include <shellapi.h>
如果定义了头文件 #include <windows.h>的话就不必定义 #include <shlobj.h>了。
【2】定义路径
C++中所表示的路径要用 " \ "而不是平常所用的" \ ",所以以上三个函数表示路径都
为:disk:\Directory\...\File name
WinExec("D:\Program Files\Test\Test.exe",SW_SHOWMAXIMIZED);
ShellExecute(NULL,"open","C:\Test.txt",NULL,NULL,SW_SHOWNORMAL);
1、调用 API: int system( const char *command );
你可以传入一命令,启动某个程序。如"ping www.vccode.com", "YourExe"等等
不过这里有几点要值得注意:
(1)、他不会立即返回,直到你启动的程序执行完成。
(2)、如果你启动是 windows 程序,它仍然会启动一个控制台,这就给人感觉太差劲
了,但如果本身是控制台的,而且又需要等待它的完成,那这将是比较好的选择。
(3)、它的返回值代表是否执行成功以及程序的退出码。
(4)、不能运行*.txt 文件或"www.baidu.com"
2、调用 API:
UINT WinExec(
LPCSTR lpCmdLine, // command line
UINT uCmdShow // window style
);
返回是否调用成功,如果大于 32 则调用成功
这个 API 与 API:system 同样的使用简单,同用是使用命令行型式。
不过它与 API:system 相比,有几个优点:
(1)、它将启动了一个新进程,并且立即返回,因此你的程序无需等待。
(2)、它的多了一个参数:uCmdShow,通过它你可以一定程度上控件窗体的显示,
比如让它后台运行而不显示出来。
(3)、它无论启动控制台程序还是 windows 程序都只做你想要做的事。
它的不足之处:
(1)、它完全与本进程脱离,无法对做些必要的控制
(2)、无法得知启动的程序是否退出。
(3)、得不到启动的程序的退出码。
(4)、不能运行*.txt 文件或"www.baidu.com"
3、调用:
HINSTANCE ShellExecute(
HWND hwnd,
LPCTSTR lpVerb,
LPCTSTR lpFile,
资源评论
G11176593
- 粉丝: 6666
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功