|
初次使用QT,以前都是在VC下写代码 - void GetProcessID()
- {
- //提升程序权限,使其能够修改war进程。
- HANDLE hcurrent=GetCurrentProcess();
- HANDLE hToken;
- BOOL bret=OpenProcessToken(hcurrent,TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY,&hToken);
- LUID luid;
- bret=LookupPrivilegeValue(NULL,"SeDebugPrivilege",&luid);
-
- TOKEN_PRIVILEGES NewState,PreviousState;
- DWORD ReturnLength;
- NewState.PrivilegeCount =1;
- NewState.Privileges[0].Luid =luid;
- NewState.Privileges[0].Attributes=2;
- bret=AdjustTokenPrivileges(hToken,FALSE,&NewState,28,&PreviousState,&ReturnLength);
- CloseHandle(hToken);
- //找到war的窗体句柄,并获得进程PID
- HWND hwar3=::FindWindow(NULL,TEXT("Warcraft III"));
- DWORD PID, TID;
- TID = ::GetWindowThreadProcessId (hwar3, &PID);
- //打开war进程以供编辑
- HANDLE hopen=OpenProcess( PROCESS_ALL_ACCESS|PROCESS_TERMINATE|PROCESS_VM_OPERATION|PROCESS_VM_READ|PROCESS_VM_WRITE,FALSE,PID);
- WriteProcessMemory(hopen,(LPVOID)(0x39EBBC+0x6f000000),"\x75",1,NULL);
- WriteProcessMemory(hopen,(LPVOID)(0x3A2030+0x6f000000),"\x90\x90",2,NULL);
- WriteProcessMemory(hopen,(LPVOID)(0x3A20DB+0x6f000000),"\x90\x90",2,NULL);
- WriteProcessMemory(hopen,(LPVOID)(0x361F7C+0x6f000000),"\x00",1,NULL);
- WriteProcessMemory(hopen,(LPVOID)(0x2031EC+0x6f000000),"\x90\x90\x90\x90\x90\x90",6,NULL);//显示技能
- WriteProcessMemory(hopen,(LPVOID)(0x34FDE8+0x6f000000),"\x90\x90",2,NULL);
- /////////////////////////////////////////////////技能CD
- WriteProcessMemory(hopen,(LPVOID)(0x28ECFE+0x6f000000),"\xEB",1,NULL);//显示技能
- WriteProcessMemory(hopen,(LPVOID)(0x34FE26+0x6f000000),"\x90\x90\x90\x90",4,NULL);
- WriteProcessMemory(hopen,(LPVOID)(0x34E8E2+0x6f000000),"\xB8\xC8\x00\x00",4,NULL);//允许交易
- WriteProcessMemory(hopen,(LPVOID)(0x34E8E7+0x6f000000),"\x90",1,NULL);
- ///////////////////////////////显示隐形单位
- WriteProcessMemory(hopen,(LPVOID)(0x362391+0x6f000000),"\x38",1,NULL);
- WriteProcessMemory(hopen,(LPVOID)(0x362394+0x6f000000),"\x85",1,NULL);
- WriteProcessMemory(hopen,(LPVOID)(0x39A51B+0x6f000000),"\x90\x90\x90\x90\x90\x90",6,NULL);
- WriteProcessMemory(hopen,(LPVOID)(0x39A52E+0x6f000000),"\x90\x90\x90\x90\x90\x90\x90\x90\x33\xC0\x40",11,NULL);
- ///////////////////////////////////////////////////分辨幻影
- WriteProcessMemory(hopen,(LPVOID)(0x28357C+0x6f000000),"\x40\xC3",2,NULL);
- //敌方信号
- WriteProcessMemory(hopen,(LPVOID)(0x43F9A6+0x6f000000),"\x3B",1,NULL);
- WriteProcessMemory(hopen,(LPVOID)(0x43F9A9+0x6f000000),"\x85",1,NULL);
- WriteProcessMemory(hopen,(LPVOID)(0x43F9B9+0x6f000000),"\x3B",1,NULL);
- WriteProcessMemory(hopen,(LPVOID)(0x43F9BC+0x6f000000),"\x85",1,NULL);
- }
错误:
8: error: cannot convert 'const char*' to 'const WCHAR*' for argument '2' to 'BOOL LookupPrivilegeValueW(const WCHAR*, const WCHAR*, _LUID*)' 33: error: invalid suffix "+0x6f000000" on integer constant 43: error: invalid suffix "+0x6f000000" on integer constant
|