博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++ 调用外部程序exe-ShellExecuteEx
阅读量:5036 次
发布时间:2019-06-12

本文共 1273 字,大约阅读时间需要 4 分钟。

此方法最实用的调用exe.

#include <ShellAPI.h>

string file_path = s_run_dir+"\\ConsoleApplication1.exe";    if (!myfile.IsFileExist(file_path))    {        return 1;    }    LPCWSTR lp_file_path = mystring.StringToLPCWSTR(file_path);    SHELLEXECUTEINFO ShExecInfo;    ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);    ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;    ShExecInfo.hwnd = NULL;    ShExecInfo.lpVerb = NULL;    ShExecInfo.lpFile = lp_file_path;    ShExecInfo.lpParameters = __T("D:\\a.txt D:\\b.txt D:\\c.txt");//传出去的参数    ShExecInfo.lpDirectory = NULL;    ShExecInfo.nShow = SW_SHOW;    ShExecInfo.hInstApp = NULL;    BOOL b_ret=ShellExecuteEx(&ShExecInfo);    if (b_ret)    {        //等待调用启动的exe关闭,此处要设置成ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;        WaitForSingleObject(ShExecInfo.hProcess, INFINITE);    }    else    {        return 2;    }

 

传给控制台程序参数

#include "stdafx.h"#include 
using namespace std;int _tmain(int argc, _TCHAR* argv[]){ // 参数个数,第一个参数为可执行文件路径 int iParamCount = argc; cout << "参数个数:" << iParamCount << endl; for (int i = 0; i < iParamCount; i++) { cout << endl << "第" << i + 1 << "个参数:"; wprintf(argv[i]); } getchar(); return 0;}

 

转载于:https://www.cnblogs.com/ike_li/p/4545720.html

你可能感兴趣的文章
photoplus
查看>>
Python 拓展之推导式
查看>>
[Leetcode] DP-- 474. Ones and Zeroes
查看>>
80X86寄存器详解<转载>
查看>>
c# aop讲解
查看>>
iterable与iterator
查看>>
返回顶部(动画)
查看>>
webpack+react+antd 单页面应用实例
查看>>
Confluence 6 SQL Server 数据库驱动修改
查看>>
Confluence 6 通过 SSL 或 HTTPS 运行 - 备注和问题解决
查看>>
【47.76%】【Round #380B】Spotlights
查看>>
Git(使用码云)
查看>>
分享Java web 开发必游之路
查看>>
IIS初始化(预加载),解决第一次访问慢,程序池被回收问题(转载)
查看>>
Bean的Scope
查看>>
【BZOJ】3142: [Hnoi2013]数列
查看>>
http初探
查看>>
elasticsearch的安装
查看>>
__next__()
查看>>
爬取:中国大学排名
查看>>