清空Windows系统日志的Delphi代码

  前些日子@ccb朋友说想要看一下自动清理系统日志-AutoClearLog的源码,其实代码很简单的,就是调用了两个系统API,OpenEventLogClearEventLog,当然了,Open之后是需要CloseEventLog 的。

下面是相关的代码:

function KillEventLog(EventName:String):boolean;
var
  HEvent:Hwnd;
begin
  HEvent:=OpenEventLog(nil,pchar(EventName));  //参数1是远程服务器的UNC名,nil则是本机
  if HEvent=0 then
    begin
       Result:=false;
       exit;
    end;
   if  ClearEventLog(HEvent,nil) then          //参数2是备份文件的名称,非空会备份
      begin
         Result:=false;
         exit;
      end;
   result:=CloseEventLog(HEvent);
end;
procedure DelEventLog;
begin
    KillEventLog('Application');
    KillEventLog('System');
    KillEventLog('Security');
    KillEventLog('Setup');
    KillEventLog('ForwardedEvents');
    SetProcessWorkingSetSize(GetCurrentProcess, $FFFFFFFF, $FFFFFFFF);
end;

代码随意使用!

支付宝 微信
有人爱: 醉倚黄昏
有事做: https://zyhh.me/delphi/code-clear-log.html
有所期待: 一个有雨有肉的夜晚,和你没头没尾分一瓶酒。
评论 (1)
  1. # 1
    David· 2017-04-20 01:24

    谢谢,代码帮助很大~!