windows下C++调用shell启动和关闭可执行文件exe的最简单方法

本文介绍了一种在Windows环境下使用C++通过调用Shell来启动和关闭EXE文件的方法。具体实现包括设置SHELLEXECUTEINFO结构体以启动指定路径的EXE文件,并通过FindWindow和SendMessage函数来查找并关闭该进程。

在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;
}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值