#include "windows.h"
#include <string>
#include "tlhelp32.h"
#include <iostream>
#include <stdio.h>
#include <tchar.h>
#include <vector>
void FindAllProcessIdsByName(std::vector<DWORD>& outProcessIDsContainer,const std::string& in_processName)
{
PROCESSENTRY32 processInfo;
processInfo.dwSize = sizeof(processInfo);
HANDLE processesSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
if (processesSnapshot == INVALID_HANDLE_VALUE)
{
return;
}
//Process First in snapshot and traverse the list.
Process32First(processesSnapshot, &processInfo);
if (!in_processName.compare(processInfo.szExeFile))
{
//Process exists.
outProcessIDsContainer.push_back(processInfo.th32ProcessID);
}
while ( Process32Next(processesSnapshot, &processInfo) )
{
if ( !in_processName.compare(processInfo.szExeFile) )
{
//Process exists.
outProcessIDsContainer.push_back(processInfo.th32ProcessID);
}
}
CloseHandle(processesSnapshot);
}
void KillProcessById(DWORD processID)
{
HANDLE process = OpenProcess( SYNCHRONIZE|PROCESS_TERMINATE, FALSE, processID);
if(process == INVALID_HANDLE_VALUE)
{
return;
}
TerminateProcess(process,0);
Sleep(500);
}
int _tmain(int argc, _TCHAR* argv[])
{
std::vector<DWORD> outProcessIDsContainer;
const std::string exeName = "QQ.exe";
FindAllProcessIdsByName(outProcessIDsContainer,exeName);
std::vector<DWORD>::iterator it;
for(it = outProcessIDsContainer.begin();it!=outProcessIDsContainer.end();++it){
KillProcessById(*it);
}
return 0;
}
所有QQ.exe都被关闭
分享到:
相关推荐
"结束进程-易语言.zip"这个压缩包文件主要聚焦于使用易语言来实现操作系统中的进程管理功能,特别是如何结束进程。易语言是一种中国本土开发的、面向对象的、易学易用的编程语言,它的设计理念是使编程变得更加简单...
内核级结束进程 内核级结束进程 结束冰刃进程 结束360等杀软进程 其进程不能被冰刃结束
结束进程.exe结束进程.exe结束进程.exe结束进程.exe结束进程.exe结束进程.exe
当父进程结束时,可以选择是否等待子进程的结束(通过wait系统调用),而子进程的结束会通知父进程(通过SIGCHLD信号)。 在"进程-3.e"这个主题中,可能涉及更深入的讨论,比如多线程、死锁、竞态条件等并发问题,...
标题中的“pb9结束进程 pb12结束进程”指的是可能包含两种版本的程序或工具,分别针对PowerBuilder 9.0(pb9)和PowerBuilder 12.6(pb12)环境,用于结束计算机上的特定进程。PowerBuilder是一种流行的开发工具,...
"完整版进程-2.rar"可能是一个包含关于进程管理、调度、通信等深入知识的资料包。下面将详细讨论与进程相关的知识点。 1. **进程的概念**: - 进程是操作系统资源分配的基本单位,它包含了程序的执行状态、数据及...
### 停止进程-vbs:使用VBS脚本终止指定进程 在计算机管理与维护过程中,有时我们需要通过脚本的方式结束某个特定的进程。本文将详细介绍如何利用VBS(Visual Basic Script)编写一个简单的脚本来实现这一目标。 #...
// 子进程结束 } else { printf("fork error\n"); exit(0); } return 0; } ``` 这段代码首先通过`fork()`创建一个子进程。如果创建成功,子进程将执行`system()`函数来执行一系列的`ps`命令,这些命令会显示...
例如,Unix/Linux系统中的fork()函数可以创建子进程,exec()系列函数用于在子进程中执行新的程序,而wait()和waitpid()则用于父进程等待子进程结束。 “进程-2.e”可能涉及到进程管理的高级主题,如死锁(Deadlock...
"批量结束进程工具-冰刀"是一款专门设计用于批量管理和结束计算机系统中运行的进程的实用软件。在IT行业中,管理进程是系统管理员和开发者日常维护工作的重要环节,尤其是在处理多进程应用程序或需要优化系统资源时...
在这个"BAT批处理脚本-结束进程.zip"压缩包中,包含了一个名为"结束进程.bat"的文件,这应该是一个用于终止特定进程的批处理脚本。 批处理脚本(.bat)的创建和运行非常简单。一个批处理文件实质上是一系列DOS命令...
"进程-1.e.rar"可能是一个关于操作系统进程管理的压缩文件,包含了深入讲解进程的文档或教程。下面将详细讨论进程及其相关知识点。 首先,我们需要理解什么是进程。在计算机系统中,进程是操作系统分配资源的基本...
利用fork()函数编写一个程序,要求父进程创建两个子进程,父进程、子进程并发执行,输出并发执行的消息,如: 父进程正在执行….. 子进程1正在执行….. 子进程2正在执行….. 一段时间后,父进程杀死子...父进程结束
大多数用户熟知的方式是通过任务管理器来结束进程,或者使用`taskkill`命令。然而,在Windows操作系统中还隐藏着一个更为强大且鲜为人知的命令——`ntsd`,它能够帮助我们在命令行环境下强制结束任何进程,包括那些...
"完整版进程-3.rar"这个压缩包可能包含了一系列关于进程管理的详细资料,包括但不限于进程的创建、调度、通信、同步以及终止等主题。 首先,我们要理解什么是进程。进程是操作系统分配资源的基本单位,每个进程都有...
然而,需要注意的是,强制结束进程可能会导致数据丢失或系统不稳定,因此在使用批处理结束进程时需谨慎。特别是在没有详细了解进程功能的情况下,不要轻易使用强制结束命令,以免影响系统的正常运行。 为了编写更...
"完整版进程-3.e.rar"可能是一个包含有关进程管理、操作系统内核或系统编程深入理解资料的压缩文件。让我们详细探讨一下这个主题。 1. **进程定义**:在计算机科学中,进程是操作系统资源分配的基本单位,它包括...
在VB(Visual Basic)编程中,强制结束进程是一项常见的任务,尤其在系统管理和软件调试时。这个"VB开源强制结束进程实例"是一个示例代码,它展示了如何利用VB语言来终止计算机上运行的特定进程。厦门挨踢门户...
在【压缩包子文件的文件名称列表】中提到的"一键结束peer.exe后门进程-onisuly制作-源码"很可能是作者onisuly创建的这个解决方案的源码文件。下载并分析这个源码,可以帮助我们了解具体的实现方式,也可以作为学习和...
本套进程管理软件可以指定时间订启动结束进程不想看到的进程有的时候还是挺好用的绿色版本不用安装 本套进程管理软件可以指定时间订启动结束进程不想看到的进程有的时候还是挺好用的绿色版本不用安装 本套进程管理...