c++ 杀死进程的问题

来源:百度知道 编辑:UC知道 时间:2024/05/15 15:29:08
#include "stdio.h"
#include "windows.h"
#include "winbase.h"
#include "tlhelp32.h"

#pragma comment(lib,"kernel32.lib")
#pragma comment(lib,"advapi32.lib")

void EnableDebugPriv( void )
{
HANDLE hToken;
TOKEN_PRIVILEGES tkp;

OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES |

TOKEN_QUERY, &hToken);
LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,&tkp.Privileges

[0].Luid);
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,

(PTOKEN_PRIVILEGES)NULL, 0);
CloseHandle( hToken );
}

pskill(int id) //根据进程ID杀进程
{
HANDLE hProcess=NULL;

//打开目标进程
hProcess=OpenProcess(PROCESS_TERMINATE,FALSE,id);
if (hProcess==NULL){

用system("taskkill ....."); 就可以了.

语法:
taskkill [/s Computer [/u Domain\UserName [/p Password]]] {[/fi Filter [/fi Filter [ ...]]] [{/pid ProcessID | /im ImageName}] | /pid ProcessID | /im ImageName} [/f] [/t]

1 桌面进程对系统来说是SHELL,由系统自动调用
2 KABA是做了进程保护的,所以无法关闭
注意一下进程管理器吧,同样是无法关闭KABA的