网上很多都有删除IE下拉框记录的代码,但是真正删除IE历史记录的代码我还没发现。
所以就写了下面的代码,不过清除完之后要重新启动计算机。有什么不明白请留言。

unit clear;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TClearForm = class(TForm)
    clear: TButton;
    procedure clearClick(Sender: TObject);
  private
    { Private declarations }
  public
    procedure Win98Delete(FileName:string);
    Procedure CompleteDelete(SrcFileName:string);
    procedure KillFile;    
    { Public declarations }
  end;

var
  ClearForm: TClearForm;

implementation

{$R *.dfm}
procedure TClearForm.Win98Delete(FileName:string);  //WINDOWS98下删除正在使用的文件
var
  Wininit:string;
  Buffer:array[0..MAX_PATH] of char;
  I,J :integer;
  ini:TStringList;
begin
  FillChar(Buffer,SizeOf(Buffer),0);
  GetWindowsDirectory(Buffer,SizeOf(Buffer));
  Wininit :=IncludeTrailingBackslash(Buffer)+'Wininit.ini';
  Ini :=TstringList.Create;
  try
    if FileExists(Wininit) then Ini.LoadFromFile(Wininit);
    for I := 0 to Ini.Count-1 do Ini[i] := UpperCase(Ini[I]);
    J:=Ini.IndexOf('[Rename]');
    if J = -1 Then
      begin
        Ini.Add('[Rename]');
        J := 0
      end;
      FillChar(Buffer,SizeOf(Buffer),0);
      GetShortPathName(Pchar(FileName),Buffer,SizeOf(Buffer));
      Ini.Insert(J+1,'NUL='+Buffer);
      Ini.SaveToFile(Wininit);
   finally
     Ini.Free;
   end;
end;

Procedure TClearForm.CompleteDelete(SrcFileName:string);//删除正在使用的文件
var
  osVerInfo:TOSVersionInfo;
begin
 osVerInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);
 if (GetVersionEx(osVerInfo)) then
   begin
   if osVerInfo.dwPlatformId =VER_PLATFORM_WIN32_NT then   //WINDOWS2000或WINDOWS NT
      MoveFileEx(pansichar(SrcFileName ),nil,MOVEFILE_DELAY_UNTIL_REBOOT)
      else if  osVerInfo.dwPlatformId =VER_PLATFORM_WIN32_WINDOWS  then
         Win98Delete(SrcFileName) //WINDOWS 98

else
           exit;
    end;
 end;

procedure TClearForm.KillFile;
var
  Sr : TSearchRec;
  ERR:integer;  
  CurrentDir,FilePath : string;
begin
  Err := FindFirst('*.*',faAnyfile,Sr);
  while (Err =0 ) do
  begin
    Application.ProcessMessages;
    if (sr.Attr and faDirectory) =0 then
    begin
      FilePath := ExpandFileName(Sr.Name);
      CompleteDelete(FilePath);
    end;
   if (sr.Attr and faDirectory <>0)  and (sr.Name[1]<>'.') then
   begin

ChDir(sr.Name);
     Getdir(0,CurrentDir);
     KillFile;//递归
     CompleteDelete(CurrentDir);
     ChDir('..');
   end;
   Err := FindNext(sr);
   end;
  FindClose(sr);
end;

procedure TClearForm.clearClick(Sender: TObject);
begin
  ChDIR('C:/Documents and Settings/Administrator/Local Settings/History/history.ie5');
  //随着你计算机的帐户的不同而改变,别跟我学哦!

KillFile;
  showmessage('清除成功');
end;

end.

彻底删除IE的历史记录相关推荐

  1. 苹果怎么找计算机历史记录,如何在苹果电脑上恢复已删除的上网历史记录

    如何在Mac上找到已删除的Internet历史记录? 很多用户并不在意是否删除Mac上的互联网历史记录,因此从Safari删除的互联网历史记录之前不会考虑太多.但是当用户忘记了访问过的特定网站,删除了 ...

  2. 两种方法删除IE7浏览历史记录

    两种方法删除IE7浏览历史记录 我们在上网的时候,一般会在机器上留下浏览记录等一些涉及个人隐私的敏感信息,存在安全隐患.与 IE6 相比,IE 7在清除这些敏感信息.保护我们的个人隐私方面,做了改进和 ...

  3. 如何清除计算机搜索框内的搜索历史记录,win10系统删除搜索框历史记录的操作方法...

    win10系统使用久了,好多网友反馈说关于对win10系统删除搜索框历史记录设置的方法,在使用win10系统的过程中经常不知道如何去对win10系统删除搜索框历史记录进行设置,有什么好的办法去设置wi ...

  4. 计算机远程桌面删除记录,win10系统删除远程桌面历史记录的处理方法

    有关win10系统删除远程桌面历史记录的操作方法想必大家有所耳闻.但是能够对win10系统删除远程桌面历史记录进行实际操作的人却不多.其实解决win10系统删除远程桌面历史记录的问题也不是难事,小编这 ...

  5. Win10删除桌面壁纸历史记录清除使用过的壁纸

    一名具有强迫症的Computer users--Liujian 可能对于具有强迫症的小伙伴比较喜欢默认的壁纸历史记录,也许频繁更换壁纸历史纸记录太多眼花缭乱,删除部分不需要的壁纸历史记录还一个干净的操 ...

  6. 删除git所有历史记录 仅保留当前文件

    新建从根发出的分支 $ git checkout --orphan lastest_branch 添加当前所有文件并commit $ git add -A $ git commit -ma " ...

  7. CJ20N被删除物料的历史记录

    CJ20N删除的物料蓝色显示 根据预留号4097/1在后台表RESB中找到对应对象编号 然后到JCDS中输入对象号,输入状态I0013 就找到删除时间,和账号了 转载于:https://www.cnb ...

  8. 删除地址栏输入历史记录

    Chrome浏览器是一款非常不错的浏览器,不过在使用时你会发现地址栏保存了很多记录,有些可能是你不想保存的,或者你想单独删除地址栏中的某些记录,却不想全部清除,怎么办?下面一起来看看Chrome地址栏 ...

  9. elementui如何在input 框中搜索_在 Windows 10 中的文件资源管理器中删除搜索历史记录...

    Windows 资源管理器带有搜索功能,用户可以通过该功能找到特定的文件或文件夹.默认情况下,您在搜索框中进行的所有搜索都会保存到其历史记录中.下次您在搜索框中输入内容时,它将在下拉对话框中显示最近输 ...

最新文章

  1. Kali Linux下运行Sniffjoke出错的解决
  2. GCD介绍(三): Dispatch Sources
  3. 图着色问题贪心算法c语言,区间图着色问题(贪心算法)C++实现
  4. 数据库开发——MySQL——primary key
  5. C# 数据结构--排序[下]
  6. SpringBootAdmin
  7. 方法调方法(委托方式)
  8. Linux常用命令 -- screen
  9. STM32F407+CubeMX-使用TIM产生PWM信号
  10. vue 新建的页面如何访问_Vue.js—实现前后端分离架构中前端页面搭建(四)(完)...
  11. Python入门系列(1):如何使用Sublime text开发Python
  12. WPF TreeView tools
  13. centos7安装erlang
  14. 从CarLife音乐切换回蓝牙音乐音量变小
  15. 记一次PDFRenderer使用renderImage方法报错java.lang.IndexOutOfBoundsException解决方法
  16. 配电房环境智能监测系统及轨道巡检机器人
  17. 图书管理系统之登陆注册页面布局(一)
  18. 区块链 : 历史、现在与未来
  19. jQuery ajax bootstrap layui
  20. [OS] ESXi安装和配置

热门文章

  1. Appium-Background App(后台应用程序)
  2. Angular中ngfor与ngif的嵌套使用
  3. php瓜分红包,今日头条启动“发财中国年”活动,瓜分10亿红包
  4. 【Android 控件使用及源码解析】 GridView规则显示图片仿微信朋友圈发图片
  5. [ 成为架构师系列 ] 5. Spring Bean 的生命周期 (the standard bean lifecycle)
  6. pb 结构化电子病历 电子病历 emr 临床路径
  7. MATLAB滤波器系数计算(例子butter 低通)
  8. oracle select with read only,oracle创建视图的一些总结:包括with check option和with read only...
  9. Android Shape制定圆形和圆环形状
  10. 最新YzmCMS全新轻爽极简风格模版主题(Eric v1.0)