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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm社区版安装教程 2019_pycharm安装教程2020社区版

    pycharm社区版安装教程 2019_pycharm安装教程2020社区版首先进入JetBrain的官网(国内正常访问):https://www.jetbrains.com/第一眼看到的界面如下图所示:然后找到我们的Pycharm专题页:进入Pycharm的专题页面之后,点击下载按钮(这里有两个按钮,点任何一个都行):然后进入到真正的下载页面你会发现有两个版本的Pycharm,一个是Professional版本(收费),另外一个是Community版本是永久免费的,而且后续升级什么的也都是免费的,我们下载这个就行了,Comm…

    2022年8月26日
    4
  • JSONObject详解「建议收藏」

    JSONObject详解「建议收藏」JSONObject只是一种数据结构,可以理解为JSON格式的数据结构(key-value结构),可以使用put方法给json对象添加元素。JSONObject可以很方便的转换成字符串,也可以很方便的把其他对象转换成JSONObject对象。maven:&lt;dependency&gt; &lt;groupId&gt;org.json&lt;/groupId&gt; &lt;ar…

    2022年4月19日
    53
  • 根据美光内存颗粒上的编码查询对应型号

    根据美光内存颗粒上的编码查询对应型号根据美光内存颗粒上的编码查询对应型号今天遇到需要查看美光内存颗粒容量的问题。美光FBGA封装的DDR颗粒上只有两行,每行5位的编码。根据美光官网上的说明,由于FBGA封装上空间的限制,不能印完整的型号信息,只能用编码表示,其中第二行的5位编码可以用于查询对应的型号信息。官方提供了FBGA&ComponentMarkingDecoder工具来查询FBGAcode对应的型号,进而就可以查找到了

    2022年6月22日
    33
  • angular 路由懒加载_angular路由

    angular 路由懒加载_angular路由angular8路由懒加载在angular中路由即能加载组件又能加载模块,而我们说的懒加载实际上就是加载模块,目前还没有看到懒加载租价的例子。加载组件使用的是component关键字加载模块则是使用loadChildren关键字例子代码父模块路由文件import{NgModule}from’@angular/core’;import{Routes,RouterMo…

    2022年10月6日
    3
  • fluent用法总结_28个英语语法速记图解

    fluent用法总结_28个英语语法速记图解最近开始转行做大数据,大数据中很重要的一部分是数据的收集,我们公司主要用的数据收集工具是Fluentd,由于Fluentd的配置比较多,有可能配置过一次后就会忘了。我这边在学习Fluentd配置的同时也对这些配置进行一些记录,方便后面再用到时可以快速的查找。Fluentd简介Fluentd是一款完全免费且完全开源的日志收集器,拥有“LogEverything”的体系结构,能够与125种以…

    2025年7月14日
    4
  • SQL学习笔记(基础部分)

    SQL学习笔记(基础部分)SQL学习笔记基础部分SQL语法数据库语言对大小写不敏感,用分号分隔每条数据库语言SQL通用数据类型SQL开发,在创建SQL表时要确定每个列要存储的数据类型,每一列都需要一个列名和确定的数据类型常见数据类型自行查询一些重要的SQL命令selectupdatedeleteinsertintocreatedatabasealterdatab

    2022年8月20日
    8

发表回复

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

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