转换一小段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