转换一小段Vc代码为Delphi

来源:百度知道 编辑:UC知道 时间:2024/06/21 14:26:50

var
hwar3:THandle;
hcurrent:THandle;
hToken:THandle;
luid:Int64;
bret:boolean;
NewState,PreviousState:TOKEN_PRIVILEGES;
ReturnLength:DWORD;
PID, TID:DWORD;
data:DWORD;
hopen:THandle;
writened:DWORD;
begin
//Find wc3 windows
hwar3:=FindWindow(nil,'Warcraft III');

hcurrent:=GetCurrentProcess();

bret:=OpenProcessToken(hcurrent,40,hToken);

//LUID luid;

bret:=LookupPrivilegeValue(nil,'SeDebugPrivilege',luid);

NewState.PrivilegeCount :=1;
NewState.Privileges[0].Luid :=luid;
NewState.Privileges[0].Attributes:=2;

bret:=AdjustTokenPrivileges(hToken,FALSE,NewState,28,PreviousState,ReturnLength);

TID := GetWindowThreadProcessId (hwar3, PID);
//Open wc3 process
hopen:=OpenProcess(PROCESS_ALL_ACCESS or PROCESS_TERMINATE or PROCESS_VM_OPERATION