📄 unit1.~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 + -