2006-10-14 11:34
祥子
权限不够,我直接贴出来好了....代码是DELPHI的服务程序:
unit uMain;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs, Registry;
type
TService1 = class(TService)
procedure ServiceContinue(Sender: TService; var Continued: Boolean);
procedure ServiceExecute(Sender: TService);
procedure ServicePause(Sender: TService; var Paused: Boolean);
procedure ServiceShutdown(Sender: TService);
procedure ServiceStop(Sender: TService; var Stopped: Boolean);
private
{ Private declarations }
procedure MyDeleteFile(const APath: string);
//procedure MyDeleteReg;
public
function GetServiceController: TServiceController; override;
{ Public declarations }
end;
var
Service1: TService1;
AText: TextFile;
implementation
{$R *.DFM}
procedure ServiceController(CtrlCode: DWord); stdcall;
begin
Service1.Controller(CtrlCode);
end;
function TService1.GetServiceController: TServiceController;
begin
Result := ServiceController;
end;
procedure TService1.MyDeleteFile(const APath: string);
begin
if FileExists(APath) then
begin
DeleteFile(APath);
Writeln(AText, '删除' + APath + '成功');
end;
end;
{procedure TService1.MyDeleteReg;
var
tmpReg: TRegistry;
begin
tmpReg := TRegistry.Create;
try
finally
tmpReg.Free;
end;
end;}
procedure TService1.ServiceContinue(Sender: TService;
var Continued: Boolean);
begin
Continued := True;
end;
procedure TService1.ServiceExecute(Sender: TService);
var
Handle: THandle;
FilePath: string;
begin
FilePath := 'C:\Result.txt';
Handle := CreateFile(PChar(FilePath), 3,5,nil,CREATE_ALWAYS,FILE_ATTRIBUTE_ARCHIVE,0);
while not Terminated do
begin
Sleep(600);
AssignFile(AText,'D:\Result.txt');
Reset(AText);
Append(AText);
Writeln(AText, '//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=');
MyDeleteFile('C:\Program Files\Tencent\QQ\Messenger.exe');
MyDeleteFile('C:\WINDOWS\system32\Maxthonz.dll');
MyDeleteFile('C:\Program Files\Tencent\QQ\RTraveler.dll');
MyDeleteFile('C:\WINDOWS\gafsdaz.bat');
Writeln(AText, '');
Writeln(AText, '//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=');
CloseFile(AText);
Break;
end;
CloseHandle(Handle);
Self.DoStop;
end;
procedure TService1.ServicePause(Sender: TService; var Paused: Boolean);
begin
Paused := True;
end;
procedure TService1.ServiceShutdown(Sender: TService);
begin
Status := csStopped;
end;
procedure TService1.ServiceStop(Sender: TService; var Stopped: Boolean);
begin
Stopped := True;
end;
end.