怎么用C语言写一个关闭后台某进程的程序

怎么用C语言写一个关闭后台某进程的程序,第1张

//kill进程from名字

BOOL KillProcessFromName(LPCSTR lpProcessName)

{

//创建进程快照(TH32CS_SNAPPROCESS表示创建所有进程的快照)

HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);

//PROCESSENTRY32进程快照的结构体

PROCESSENTRY32 pe;

//实例化后使用Process32First获取第一个快照的进程前必做的初始化 *** 作

pedwSize = sizeof(PROCESSENTRY32);

//下面的IF效果同:

//if(hProcessSnap == INVALID_HANDLE_VALUE) 无效的句柄

if(!Process32First(hSnapShot,&pe))

{

return FALSE;

}

CString strProcessName = lpProcessName;

//将字符串转换为小写

strProcessNameMakeLower();

//如果句柄有效 则一直获取下一个句柄循环下去

while (Process32Next(hSnapShot,&pe))

{

//peszExeFile获取当前进程的可执行文件名称

CString scTmp = peszExeFile;

//将可执行文件名称所有英文字母修改为小写

scTmpMakeLower();

//比较当前进程的可执行文件名称和传递进来的文件名称是否相同

//相同的话Compare返回0

if(!scTmpCompare(strProcessName))

{

//从快照进程中获取该进程的PID(即任务管理器中的PID)

DWORD dwProcessID = peth32ProcessID;

HANDLE hProcess = ::OpenProcess(PROCESS_TERMINATE,FALSE,dwProcessID);

::TerminateProcess(hProcess,0);

CloseHandle(hProcess);

return TRUE;

}

scTmpReleaseBuffer();

}

strProcessNameReleaseBuffer();

return FALSE;

}

以杀死qq程序为例,我们可以通过下列方式:

KillProcessFromName("qqexe");

(1)原因:因为

exe只要将你的程序执行完,就关闭窗口

(2)解决方法

你在程序末尾

加上:

getch();

或者

system("pause");

以上就是关于怎么用C语言写一个关闭后台某进程的程序全部的内容,包括:怎么用C语言写一个关闭后台某进程的程序、为什么我用vc++编写的c程序一执行就立刻关闭了、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9324943.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存