WindowsAPI实现远程调启exe可执行程序,C++实现

2023-11-15

// 10-winAPI调用外部可执行程序.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <Windows.h>
#include <Tlhelp32.h>
#include <comdef.h>//字符串类型转换
using namespace std;

int main()
{
	//启动有一个外部程序
	//system("start C:\\Users\\Administrator\\Desktop\\acv\\10_9_a.exe");//父子进程分离,创建后互不影响
	WinExec("C:\\Users\\Administrator\\Desktop\\acv\\10_9_a.exe", SW_SHOWNORMAL);//子进程继承父进程
	//查找外部指定程序
	DWORD needstopProID=0;
	PROCESSENTRY32 pe32;
	pe32.dwSize = sizeof(pe32);
	HANDLE hSnapshot_proc = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
	if (hSnapshot_proc != INVALID_HANDLE_VALUE)
	{
		BOOL check = Process32First(hSnapshot_proc, &pe32);
		while (check)
		{
			_bstr_t b(pe32.szExeFile);
			const char* lpchar = b;
			if (strcmp("10_9_a.exe", lpchar)==0)
			{
				needstopProID = pe32.th32ProcessID;
				printf("id:%d name :%s\n", pe32.th32ProcessID, lpchar);
				
			}
			check = Process32Next(hSnapshot_proc, &pe32);
		}
	}
	
	

	Sleep(3000);
	//通过进程id 拿到进程句柄 结束进程
	if (needstopProID != 0)
	{
		HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, needstopProID);
		if (hProcess == NULL)
		{
			printf(" There is no process to stop");
			return 0;
		}
		else
		{
			TerminateProcess(hProcess, 0);
		}
		
	}
	else
	{
		printf(" There is no process to stop");
		
	}
	Sleep(3000);

	return 0;

}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WindowsAPI实现远程调启exe可执行程序,C++实现 的相关文章

随机推荐

  • 手把手教会机器学习(一)——特征工程

    Python机器学习 一 特征工程 特征工程 特征 Feature 当建立预测模型时 用以对结构经行分析预判 且与预测对象有较大相关性的变量 特征提取 Feature Extraction 特征的提取应注意避免提取到相关含义的变量 避免提取
  • mysql基本语句:DML(数据操作语言)

    目录 DML语言 1 INSERT 添加数据语句 2 UPDATE 更新数据语句 3 SQL中的运算符 4 DELETE 删除数据语句 DML语言 DML 数据操作语言 用于操作数据库对象中所包含的数据 DML包括 INSERT 添加数据语
  • dbeaver对数据进行可视化编辑

    进入数据编辑界面 然后在操作栏上点击编辑即可看到
  • java学习路线

    Java 学习路线 Java 学习路线一条龙版 by 程序员鱼皮 建议先观看视频导读 https www bilibili com video BV1Qf4y1K7ff 大纲 路线特点 最新 完整一条龙的大厂 Java 学习路线 从入门到入
  • 遥感影像分类之SVM

    目录 一 背景简介 二 环境介绍 三 分类步骤 3 1 训练数据预处理 3 2 导入相关扩展包 3 2 读取训练数据与训练标签 3 3 确定参数g和c 3 4 使用svm训练模型 3 5 使用模型进行分类 四 分类结果显示与保存 4 1 结
  • Thread类创建线程

    目录 1 在java中执行多线程编辑 1 1通过Thread类创建线程 1 2创建线程方法2 1 3创建线程方法3 1 4创建线程方法4 1 5创建线程方法5 2 多线程执行效率 2 1两个变量同时自增 3 Thread常见构造方法和属性
  • Git(三):暂存区处理与分支

    5 Git 操作 5 1 隐藏 Stash 在 Git 中 隐藏操作将能够修改跟踪文件 阶段更改 并将其保存在一系列未完成的更改中 并可以随时重新应用 当更改了文件的内容后 通过 git status 对跟踪文件进行检查 现在 要切换分支以
  • 使用预训练模型进行图片分类

    前言 TensorFlow js中加载预训练模型进行图片分类预测 项目结构 data mobileNet web model group1 shard1of1 bin model json mobileNet imagenet classe
  • 编写一个可跨平台的Logger模块

    编写项目时 不可避免要使用到日志模块 有时候还是十分有帮助的 用过的比较好的有log4cpp和其他一些 不多做介绍 这里也只是和大家分享以及记录自己编写的一个小的实用log模块而已 ccompat h ifndef CCOMPAT H de
  • 基于二阶锥规划的主动配电网最优潮流求解(Matlab代码实现)

    目录 1 概述 2 运行结果 3 Matlab代码 数据 详细文章讲解 4 参考文献 1 概述 文献来源 近年来 主动配电网发展受到了越来越多的关注 同时 各类分布式能源 distributed ener rgy resource DER
  • C++数据结构——哈希表

    文章目录 1 unordered map unordered set 2 底层结构 2 1哈希概念 2 3常见哈希函数 2 4 哈希冲突 3 闭散列 开放定址法 3 1线性探测 3 2闭散列扩容 载荷因子 3 3二次探测 4 开散列 4 1
  • 使用AI,做抖音漫画短视频,4个人2天的工作量,1人仅需5小时即可完成

    3 天前 ChatGPT云炬学长 关注 之前仅用一个多月就在抖音涨粉25w 虽然涨粉速度还可以 但账号至少需要4 5个人 其中包括1个文案 2个漫画师 一个剪辑师 一个运营 才能保证日更 一条视频至少需要2天时间 而2个漫画师就需要1天时间
  • 一个通过摄像头识别植物的python小程序

    安装必要的库 你需要安装 OpenCV 和 Tensorflow 库 你可以使用 pip 命令在终端中安装它们 pip install opencv python pip install tensorflow 收集数据 你需要收集一些不同植
  • React初级之大数计算器(二)函数组件

    废话少说 上代码 import React useState from react import BigNumber from bignumber js import styled from styled components const
  • Golang gin 框架在中间件中获取请求和响应的各种数据

    为 gin 框架做不同用途的中间件时一般都需要获取到请求体和响应体的一些数据 例如做签名插件需要获取到请求参数 请求内容和 header 做鉴权插件需要获取到 header 的某些值 做日志插件需要的数据就更多了 下面就使用代码演示各种数据
  • 基于SpringBoot的在线题库管理系统的设计与实现(源码+lw+部署文档+讲解等)

    前言 博主介绍 全网粉丝10W CSDN特邀作者 博客专家 CSDN新星计划导师 全栈领域优质创作者 博客之星 掘金 华为云 阿里云 InfoQ等平台优质作者 专注于Java 小程序技术领域和毕业项目实战 精彩专栏 推荐订阅 2023 20
  • 路径规划算法:基于战争策略优化的路径规划算法- 附代码

    路径规划算法 基于战争策略优化的路径规划算法 附代码 文章目录 路径规划算法 基于战争策略优化的路径规划算法 附代码 1 算法原理 1 1 环境设定 1 2 约束条件 1 3 适应度函数 2 算法结果 3 MATLAB代码 4 参考文献 摘
  • 两种方法实现用CSS切割图片只取图片中一部分

    http www jb51 net css 150036 html 切割图片这里不是真正的切割 只是用CSS取图片中的一部分而已 主要有两种方式 一是做为某一元素的背景图片 二是用img元素的属性 下面有个不错的示例 大家可以参考下 切割图
  • java跳转控制语句continue、break用法和Java语句的for循环嵌套

    java跳转控制语句continue和break用法 continue 结束这一次循环 break 结束整个循环 实例 package day4 continue 跳出本次循环 break 跳出整个循环 public class shift
  • WindowsAPI实现远程调启exe可执行程序,C++实现

    10 winAPI调用外部可执行程序 cpp 定义控制台应用程序的入口点 include stdafx h include