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


相关推荐

  • 论SLAM技术发展趋势[通俗易懂]

    论SLAM技术发展趋势[通俗易懂]2018年7月底,深蓝学院发起并承办了“第一届全国SLAM技术论坛”。浙江大学章国锋老师、香港科技大学沈劭劼老师、上海交通大学邹丹平老师、中科院自动化所申抒含老师在“圆桌论坛:SLAM技术发展趋势”上分享了SLAM技术的趋势,现将内容整理公布,希望更多SLAMer受益。章国锋:由于我的研究方向更偏向于视觉SLAM,所以我会从我的角度来讲一讲SLAM技术的发展趋势。首先,我认为无论是视觉…

    2022年10月1日
    4
  • java object toarray,Object[] toArray()

    java object toarray,Object[] toArray()Object[]toArray()描述(Description)java.util.LinkedList.toArray()方法以适当的顺序(从第一个元素到最后一个元素)返回包含此列表中所有元素的数组。此方法充当基于数组的API和基于集合的API之间的桥梁。声明(Declaration)以下是java.util.LinkedList.toArray()方法的声明publicObject[]…

    2022年5月14日
    31
  • c语言读取bmp图像_opencv 图像处理

    c语言读取bmp图像_opencv 图像处理以前都是使C语言中File*、fopen、fread等操作文件,这几天学习了C++IO标准库,就应用来读取bmp图像。

    2022年9月19日
    2
  • 新浪微博API错误代码说明对照表 http://open.weibo.com/wiki/Error_code

    新浪微博API错误代码说明对照表 http://open.weibo.com/wiki/Error_code

    2021年10月25日
    92
  • 惊艳的时间轮定时器「建议收藏」

    惊艳的时间轮定时器「建议收藏」http://www.cnblogs.com/zhongwencool/p/timing_wheel.html问题引入:游戏里面每个Player身上有很多buffs,在每一个tick(最小时间段)都要去检查buff里面的每一个buff是不是过期,产生的效果如何,造成在每个tick里面都去遍历一个长list,明显很不好。怎么优化?1.原始模型:

    2022年9月27日
    2
  • ADB常用命令及其用法大全「建议收藏」

    ADB常用命令及其用法大全「建议收藏」前言:本文主要记述ADB的常用命令,关于ADB用法大全,可参考文末链接ADB简介:ADB,即AndroidDebugBridge,它是Android开发/测试人员不可替代的强大工具,也是Android设备玩家的好玩具。安卓调试桥(AndroidDebugBridge,adb),是一种可以用来操作手机设备或模拟器的命令行工具。它存在于sdk/platform-to…

    2022年4月30日
    53

发表回复

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

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