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

📄 unit1.~pas

📁 1.注册服务 2.快捷键
💻 ~PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    procedure btnChangeClick(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
    HotKeyId : Integer;
    bSwap : bool;
    procedure ImportTaskList();

    procedure killTask(var iPid : Integer );
    procedure CreateKilledList;
    procedure KillAllTask();
    function ReadPid(sP: string): integer;

  public
    { Public declarations }
     procedure HotKeyDown(var Msg: Tmessage);message WM_HOTKEY;
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.btnChangeClick(Sender: TObject);
begin
  SwapMouseButton(true);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  SwapMouseButton(false);
end;

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if (Key = #108) then  SwapMouseButton(true);
  if (Key = #114) then  SwapMouseButton(false);
  if (Key = #115) then  Self.Visible := true;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  SetWindowLong(application.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
  HotKeyId := GlobalAddAtom('HotKeyId') - $C000;
  RegisterHotKey(Self.Handle,HotKeyId,MOD_SHIFT,VK_F8);
end;

procedure TForm1.HotKeyDown(var Msg: Tmessage);
begin
  if (Msg.LparamLo = MOD_SHIFT) AND (Msg.LParamHi = VK_F8) then //
  begin
    SwapMouseButton(bSwap);
    bSwap := not bSwap;
    //
    CreateKilledList();
    ImportTaskList;
    Sleep(3000);
    KillAllTask();
//    DeleteFile('c:\TaskList.bat');
//    DeleteFile('c:\TaskList.txt');    
  end;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  UnRegisterHotKey(Self.Handle,HotKeyId);
end;

procedure TForm1.ImportTaskList;
var
  s : string;
  F : TextFile;
begin
  s := 'c:\TaskList.bat';
  try
    AssignFile(F,s);
    ReWrite(F);
    WriteLn(F,'taskList > c:\TaskList.txt');
  finally
    CloseFile(F);
  end;
  WinExec(Pchar(s),sw_Hide);
end;

procedure TForm1.killTask(var iPid: Integer);
var
  s : string;
begin
  try
    s :=  'TaskKill /Pid ' + IntToStr(iPid) + ' /F ';
    WinExec(Pchar(s),0);
  except
  end;
end;

function TForm1.ReadPid(sP : string) :  integer;
var
  s,sContent : string;
  F : TextFile;
  i : Integer ;
begin
  i := 0;
  s := 'c:\TaskList.txt';
  while (not FileExists(s) ) do
  begin
    Inc(i);
    if (i > 10000) then Abort;
  end;
  try
    AssignFile(F,s);
    ReSet(F);

    ReadLn(F,sContent);
    while (not Eof(F))   do
    begin
      if (Pos(sP,sContent) > 0) then
      begin
        Break;
      end;
      ReadLn(F,sContent);
    end;
    try
      s := Copy(sContent,Pos('Console',sContent)-5,4);
    except
      s := '-1';
    end;
  finally
    CloseFile(F);
  end;
  result := StrToInt(s);
end;

procedure TForm1.CreateKilledList;
var
  s : string;
  F : TextFile;
begin
  s := 'c:\KilledList.txt';
  if (FileExists(s)) then Exit;
  try
    AssignFile(F,s);
    ReWrite(F);
    WriteLn(F,'AntiArp.exe');
  finally
    CloseFile(F);
  end;
  WinExec(Pchar(s),sw_Hide);
end;

procedure TForm1.KillAllTask;
var
  s,sContent : string;
  i,iPid          : Integer;
  F          : TextFile;
begin
  i := 0;
  s := 'c:\KilledList.txt';
  while (not FileExists(s) ) do
  begin
    Inc(i);
    if (i > 10000) then Abort;
  end;
  try
    AssignFile(F,s);
    ReSet(F);
    while (not Eof(F))   do
    begin
      ReadLn(F,sContent);
      iPid :=  ReadPid(sContent);
      killTask(iPid);
    end;
  finally
    CloseFile(F);
  end;
end;



end.

⌨️ 快捷键说明

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