windows下C++调用shell启动和关闭可执行文件exe的最简单方法_GreatGhost7的博客-程序员宝宝_shell 打开exe

技术标签: c++  exe  shell  windows  解决程序问题  可执行文件  

在windows下,通过在C++中调用shell的方式来启动以及关闭exe,代码如下:

#include <Windows.h>
#include <ShellAPI.h>
#include<iostream>
using namespace std;

int main(int argc, char* argv[])
{  //启动exe
	SHELLEXECUTEINFO shell = { sizeof(shell) };
	shell.fMask = SEE_MASK_FLAG_DDEWAIT;
	shell.lpVerb = L"open";
	shell.lpFile = L"C:\\Users\\Z\\Desktop\\yu\\transportStr_server_serach - 副本\\transportStr\\Debug\\server.exe";
	shell.nShow = SW_SHOWNORMAL;
	BOOL ret = ShellExecuteEx(&shell);
	if(ret)
	{
		cout<<"open ok"<<endl;
	}else{
		cout<<"open falied"<<endl;
	}
	Sleep(3000); 
	//关闭exe
	HWND hWnd = ::FindWindow(NULL,(L"C:\\Users\\Z\\Desktop\\yu\\transportStr_server_serach - 副本\\transportStr\\Debug\\server.exe")); 
	if (NULL != hWnd) { 
		::SendMessage(hWnd, WM_CLOSE, 0, 0); 
		cout<<"close ok"<<endl;
	}else{
		cout<<"close falied"<<endl;
	}
	system("pause");
	return 0;
}


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ghost663527/article/details/45968335

智能推荐

测试驱动开发 测试前移_我们为什么进行测试-通过测试驱动的开发更快地做事..._cumifi2519的博客-程序员宝宝

测试驱动开发 测试前移by Rainer Hahnekamp 通过Rainer Hahnekamp 我们为什么进行测试-通过测试驱动的开发更快地做事 (Why we test — do things faster with Test-Driven Development)As we all know, unit tests provide us with some kind of safet...

【C++ STL 温故而知新 001】vector容器和iterator迭代器_DaveBobo的博客-程序员宝宝

一、vector容器二、iterator迭代器三、C++中用new和不用new创建对象区别

vm无法连接虚拟设备sata01_"没法连接虚拟设备sata0:1"怎样解决?_weixin_39538693的博客-程序员宝宝

【1】只要在编辑虚拟机设置--选中硬盘--点高级--在 虚拟机设备节点中选ide0:0接行了。【2】SATA硬盘:SATA的全称是Serial Advanced Technology Attachment(串行高级技术附件,一种基于行业标准的串行硬件驱动器接口),是由Intel、IBM、Dell、APT、Maxtor和Seagate公司共同提出的硬盘接口规范,在IDF Fall 2001大会上,S...

程序员应知——数据库设计的两个误区_伯薇的博客-程序员宝宝

写在前面:本来“程序员应知”系列中应该写的都是与程序员密切相关的内容,而数据库设计似乎应该是数据库管理员的工作。然而,在实际的工作环境中,我所经历几乎所有的项目中,数据库设计工作都是由程序员来完成的;就算我们是不需要做数据库设计的程序员,也至少需要对数据库的结构有充分的理解,那样也便于我们编写和维护系统。思量再三,我还是将这篇与数据库设计相关的文章放在了这个系列当中。在几乎所有的企业级应用程序中,包括各种MIS、ERP、CRM等等,都会使用数据库,这样的好处是显而易见的,很容易地实现了数据层和业务逻辑层的分

(安卓特效) 卡片式控件 CardView_迷人的脚毛的博客-程序员宝宝

效果图:就是实现一个卡片效果   ,具体属性可以查一下CardView 所有属性: 先来导入依赖: compile 'com.android.support:cardview-v7:25.0.0'其实它就是一个控件 直接包裹图片(ImageView)或者文字(TextView)就行了,或者用一个(include)引入布

netty入门_xiaoyaGrace的博客-程序员宝宝

netty入门 Java中的NIO是一种解决阻塞式IO问题的基本技术,但是NIO的编写对java程序员是有比较高的要求的。那么Netty就是一种简化操作的一个成熟的网络IO编程框架。这里简单介绍一个程序,话不多说,直接上代码。一、服务器编写 1、Server代码,监听连接:[Java]纯文本查看复制代码? 01 02 03...

随便推点

利用IPFS构建短视频应用开发经历(二)_Imba_Bill的博客-程序员宝宝

本系列文章是针对 https://blog.csdn.net/weixin_43668031/article/details/83962959 内容的实现所编写的。开发经历包括思考过程、重构和推翻重来。在上一节中Video表(结构体)中含有 uint gratuitySum;字段,此字段冗余,可以通过实时计算获得,可以在结构体中删除。Video 设计如下 struct V...

什么是JavaBean?它的作用是什么?_KashingZoe的博客-程序员宝宝_javabean的作用

定义: JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,set和get方法获取。众所周知,属性名称符合这种模式,其他Java 类可以通过自省机制(反射机制)发现和操作这些JavaBean 的属性。JavaBean可分为两种:一种是有...

Android Studio 打开的时候显示最近项目列表_z1web的博客-程序员宝宝

打开Android 点击Settings然后找到System Settings,然后找到红框框里的内容把前边的勾去掉。(这个勾选上每次开启AS的时候都会自动运行上次最后运行的项目 )然后点击OK,重新运行一下AS 就好了。  ...

Class"X" is public, should be declared in a file named "X.java"问题,考试平台提交Java代码_zb_tjw的博客-程序员宝宝

今天在PTA平台做题,题目涉及字符串,对于C++不熟悉的我果断选择Java来处理,代码在eclipse中正常运行,但是提交的时候连编译都通不过,对于学了好几年计算机的我感觉很不可思议,然后参考了平台给出的各种语言程序样例,做了处简单的修改程序便可以正常的在平台上运行了,修改如下1.删除代码中的package xxx;包语句2.public class Main{}类名一定要写成Main,改...

Ubuntu16.04下安装tensorflow-gpu_言寺之风雅颂的博客-程序员宝宝

Tensorflow学习过程中有些代码在windows下运行会有许多问题,ubuntu系统还是得用。开始的时候为了跑通代码,就在虚拟机里面安装了一个Ubuntu16.04,但是这样GPU无法使用,只能用CPU版的tensorflow运行程序,最近在跑一个图像语义分割的训练代码,用i7-8700跑一天特么的才走了4000多次,10万次的话就奔着1个月去了,这可不行,物理机装上Ubuntu,鼓捣一番,...

推荐文章

热门文章

相关标签