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);


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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 计算机运行游戏卡顿,电脑玩游戏卡怎么办几种实用解决方法

    计算机运行游戏卡顿,电脑玩游戏卡怎么办几种实用解决方法现在很多朋友都喜欢玩游戏,虽然大多数人都是用手机玩游戏了,但还是有一些比较好玩的游戏是需要电脑上玩的,而有时候我们会遇到电脑玩游戏卡的问题,这是怎么回事呢?实际上这种问题需要用排除法来确定问题的所在,从而围绕问题来解决,这里U盘网就教大家由易到难的解决方案。我们需要确定是电脑硬件慢还是系统慢,还是网络慢。一、网络导致游戏卡顿首先我们可以从游戏的卡顿表现来判断是网络问题还是系统的问题,一般来说如果是…

  • shell if 小数 比较

    shell if 小数 比较shell的[]对于数值的判断都是基于整数的,如果碰到小数就无能为力了。google了一把发现用awk的牛人多,不过发现一个兄弟的更加好。if[`expr$a\>$b`-eq0];thenecho$bisbiggerelseecho$aisbiggerfi通过ex…

  • getparameter和getparametervalues的区别[通俗易懂]

    getparameter和getparametervalues的区别[通俗易懂]request.getParameterValues(Stringname)是获得如checkbox类(名字相同,但值有多个)的数据。接收数组变量,如checkobx类型request.getParameter(Stringname)是获得相应名的数据,如果有重复的名,则返回第一个的值.接收一般变量,如text类型例:1.三个名字相同的tex

  • Linode 遭受大规模DDoS攻击

    Linode 遭受大规模DDoS攻击美国当地时间12月29日,专用虚拟服务器提供商Linode遭到DDoS攻击,截至到本文发布时其web服务的访问仍受影响,其中API调用和管理功能依然部分不可用。Linode称正在努力尽快恢复正常访问服务。\\早在2013年就有过Linode就遭到大规模DDoS攻击。在HackNews上的讨论中,有人认为Linode在安全建设方面多有疏忽,并且和ISP缺乏配合,从而导致此次DDoS攻击影响过甚。\…

  • QGIS使用入门

    QGIS使用入门最近工作需要,要做一些关于QGIS的地图验证工作,这里就记录一下我的学习步骤和问题。1:首先下载QGIShttps://qgis.org/en/site/forusers/download.html我这里使用的是3.4版本的2:安装完毕后会生成好几个快捷方式,我们使用的是3:打开后整体界面4:添加在线地图高德地址:https://webst01.i…

  • 如何使用eclipse创建JAVA项目并写一个简单的HelloWorld

    如何使用eclipse创建JAVA项目并写一个简单的HelloWorld打开eclipse软件,选择好工作区域(就是项目的储存地址)后登陆。File-New-Project选择JavaProject输入项目名称点击完成(Finish)在SRC(SRC是专门放java源代码的文件夹,就是你在IDE里编写的各个java类的文件都在里面)中新建package包包的命名规范:包名全部使用小写。包名通常由若干个标识符…

发表回复

您的电子邮箱地址不会被公开。

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