?? objectkill.h
字號(hào):
#include <string.h>
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
#pragma comment(lib,"kernel32.lib")
#include <WinBase.h>
//提權(quán)
BOOL UpdateProcessPrivilege(HANDLE hProcess);
//工作關(guān)聯(lián)結(jié)束進(jìn)程
LONG ObjectKill(LONG dwProcessID);
LONG ObjectKill(LONG dwProcessID)
{
UpdateProcessPrivilege(GetCurrentProcess());
BOOL res = FALSE;
HANDLE hjob = CreateJobObject(NULL,TEXT("KillProcess"));
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS,0,dwProcessID);
if(hProcess == NULL)
{
printf("Open The Process Error!\n");
return 0;
}
AssignProcessToJobObject(hjob,hProcess);
res = TerminateJobObject(hjob,0);
if(res == FALSE)
printf("\nSorry, You cannot kill the process!");
else
printf("\nOK! Now The Process has been Killed!");
getch();
return 0;
}
//修改當(dāng)前進(jìn)程權(quán)限
BOOL UpdateProcessPrivilege(HANDLE hProcess)
// hProcess : 要提升的進(jìn)程,目標(biāo)進(jìn)程
// lpPrivilegeName : 要提升到的特權(quán),目標(biāo)特權(quán)
// 返回值 : TRUE : 成功; FALSE : 失敗
{
HANDLE hToken;
if ( OpenProcessToken( hProcess, TOKEN_ALL_ACCESS, &hToken ) ) {
LUID destLuid;
if ( LookupPrivilegeValue( NULL,SE_DEBUG_NAME, &destLuid ) ) {
TOKEN_PRIVILEGES TokenPrivileges;
TokenPrivileges.PrivilegeCount = 1;
TokenPrivileges.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
TokenPrivileges.Privileges[0].Luid = destLuid;
//通知OS修改權(quán)限
int iResult;
if ( iResult = AdjustTokenPrivileges(hToken, FALSE, &TokenPrivileges,
0, NULL, NULL) )
{
return TRUE;
}
}
}
return FALSE;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -