TerminateProcess结束进程

#include#include#includeBOOLKillProcess(DWORDdwProcessId){  HANDLEhProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,dwProcessId);BOOLbKill=TerminateProcess(hProcess,0);if(bKil

大家好,又见面了,我是你们的朋友全栈君。

#include<stdio.h>
#include <WINDOWS.H>
#include<Tlhelp32.h>
BOOL KillProcess(DWORD dwProcessId)
{


    HANDLE hProcess= OpenProcess(PROCESS_ALL_ACCESS,FALSE,dwProcessId);

BOOL bKill= TerminateProcess(hProcess,0);
if(bKill==0)
{
return FALSE;
}




}
bool EnumProcess()
{


//CreateToolhelp32Snapshot
//Process32Next
//Process32First
PROCESSENTRY32 pe32;
pe32.dwSize=sizeof(PROCESSENTRY32);
HANDLE hSnapshot= CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if(INVALID_HANDLE_VALUE==hSnapshot)
   return false;
if(Process32First(hSnapshot,&pe32))
{


do 
{
printf("ID:%d,Name:%s\n",pe32.th32ProcessID,pe32.szExeFile);




} while (Process32Next(hSnapshot,&pe32));






}
return false;


}


bool EnablePri()
{
//OpenProcessToken
//LookupPrivilegeValue
//AdjustTokenPrivileges()
 HANDLE TokenHandle;
 PLUID lpLuid;
 TOKEN_PRIVILEGES tkp;
 tkp.PrivilegeCount=1;


 BOOL bOpen= OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&TokenHandle);
  if(!bOpen)
     return false;
  BOOL bLook= LookupPrivilegeValue(NULL,SE_SECURITY_NAME,&tkp.Privileges[0].Luid);
  if(!bLook)
 return false;
  BOOL bAdjust= AdjustTokenPrivileges(TokenHandle,false,&tkp,sizeof(tkp),NULL,NULL);


  return(GetLastError()==ERROR_SUCCESS);
}






void main()
{  


if(!EnablePri())
{printf("EnablePri fail\n");
return;
}
if(EnumProcess())
{  printf("EnumProcess fail\n");
   getchar();
   return;
}


printf("InPut Process PID:");
DWORD dwProcessId;
scanf("%d",&dwProcessId);


KillProcess(dwProcessId);


}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126475.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • matlab新手入门_入门画画初学者

    matlab新手入门_入门画画初学者matlab入门MATLAB是“matrixlaboratory”的缩写形式。MATLAB®主要用于处理整个的矩阵和数组,而其他编程语言大多逐个处理数值。矩阵是指通常用来进行线性代数运算的二维数组。MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。…

    2022年9月10日
  • 腾讯淘宝网_新浪业务

    腾讯淘宝网_新浪业务From:http://blog.csdn.net/perfect2011/article/details/18844575

    2022年8月13日
  • MySQL + PostgreSQL批量插入更新insertOrUpdate[通俗易懂]

    MySQL + PostgreSQL批量插入更新insertOrUpdate[通俗易懂]????周周有福利,周周有惊喜哪吒社区-风火轮计划????Java学习路线配套文章:Java学习路线总结,搬砖工逆袭Java架构师(全网最强)????Java经典面试题大全:10万字208道Java经典面试题总结(附答案)????简介:Java领域优质创作者????、CSDN哪吒公众号作者✌、Java架构师奋斗者????????扫描主页左侧二维码,加入群聊,一起学习、一起进步????欢迎点赞????收藏⭐留言????这里写目录标题一、百度百科1、MySQL2、Pos

    2022年7月27日
  • python中的各种符号(欢迎补充)

    python中的各种符号(欢迎补充)和py小朋友交易久了,发现小py的花样太多了,经常会遇到陌生的小玩意,这里专门开一篇整理一下py的那些小符号,以供将来参考使用:运算符 描述 实例 算术运算符 + 加-两个对象相加 a+b输出结果30 – 减-得到负数或是一个数减去另一个数 a-b输出结果-10 …

    2022年6月4日
  • vue模板渲染 mustache简单实现[通俗易懂]

    vue模板渲染 mustache简单实现[通俗易懂]vue源码探究,模板渲染,实现mustache的渲染功能

    2022年7月19日
  • CheckListBox的使用方法

    CheckListBox的使用方法checklistbox控件 1.添加项 checkedListBox1.Items.Add(“蓝色”); checkedListBox1.Items.Add(“红色”); checkedListBox1.Items.Add(“黄色”);   2.判断第i项是否选中,选中为true,否则为false if(checkedListBox1.G

    2022年6月26日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号