使用C语言编写程序,杀掉\终了指定的程序进程。
程序列表里有一个正在运行的notepad2.exe,它的进程号是22516,下面通过编写代码将进程号是22516的程序杀掉。
(相关资料图)
//// Created by 冲哥 on 2022/12/04.// 微信关注【C语言中文社区】,免费领取500G学习资料//#include #include "windows.system.h"int KillProcess(DWORD ProcessId);int main() { int rc; int pid = 0; printf("please input pid: "); scanf("%d", &pid); rc = KillProcess(pid); if (rc == 0){ printf("KillProcess success\n"); return 0; } else{ printf("KillProcess failure\n"); return -1; }}int KillProcess(DWORD ProcessId) { HANDLE hProcess = OpenProcess(PROCESS_TERMINATE, FALSE, ProcessId); if (hProcess == NULL) return -1; if (!TerminateProcess(hProcess, 0)) { printf("TerminateProcess failure!"); return -1; } return 0;}
运行结果
再次查看进程列表,PID为22516的程序已经被杀掉了。
程序分析
代码里使用例了TerminateProcess
API,
这个API的作用就是终止指定的进程及其所有线程。
BOOL TerminateProcess( [in] HANDLE hProcess, [in] UINT uExitCode);
要终止的进程句柄。
句柄必须具有 PROCESS_TERMINATE 访问权限。 有关详细信息,请参阅 进程安全性和访问权限。
in uExitCode进程和线程因此调用而终止的退出代码。 使用 GetExitCodeProcess 函数检索进程的退出值。 使用 GetExitCodeThread 函数检索线程的退出值。
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError
。
关于API的使用可以查看微软的官方文档
https://learn.microsoft.com/zh-cn/windows/win32/api/processthreadsapi/nf-processthreadsapi-terminateprocess?redirectedfrom=MSDN
如果您觉得本篇文章对您有帮助,请点赞,转发给更多的人。
程序列表里有一个正在运行的notepad2 exe,它的进程号是22516,下面通过编写代码将进程号是22516的程序杀掉。
1、幽门螺旋杆菌生存于人体胃幽门部位是常见的细菌病原体之一,世界上有多半人口受到过幽门螺旋杆菌感染,而有些国家几乎90%
不误农时不误春。连日来,湖南各地春耕备耕正在紧张有序展开,农业技术部门下沉基层,加大对农户的支持力度,采取多种方式保障春耕备耕生产。
1、文章前后连贯,形成完整的形象。2、2、文章语言清新活泼,描写能抓住事物的主要特征,篇幅短小精悍,值得一读。3、
新黎明科技股份有限公司2月16日递交首次公开发行股票招股说明书(申报稿)。公司拟冲刺上交所IPO上市,本次拟发行不超过4559 4万股公司股份,且
2023宁波前湾新区积分入学最新消息申评时间于2023年4月30日前完成线上或线下量化积分申评和积分入学应用申请。量化积分申评途径2023年起,前湾
合肥家电总产量,连续12年全球首位!
1、对于患者乳头的颜色,由于患者激素分泌的影响,可以是棕色、黑色、粉色。2、对于青少年来说,他们的乳头通常是粉红色的,成
1、据我所知奥迪双钻的四驱车型和系列都很多,如果你先看,我建议你可以去看看一部叫做(四驱兄弟)的动画片。2、那里面的车型
2月20日,长沙地铁发布消息,2月18日全线网单日客流再次刷新历史纪录,首次突破300万。北京青年报记者注意到,除了长沙