Win2000中ie在HKEY_CURRENT_USER\Software\Microsoft\Windows\ CurrentVersion\Explorer\User Shell Folders里Win98中ie在“HKEY_CURRENT_USER\Software\Microsoft\Windows\ CurrentVersion\Explorer\ShellFolders里面有临时文件目录和历史文件目录,删除文件即可

解决方案 »

  1.   

    我这里有VC的代码,你去改一改吧
    void CClearDlg::OnOK() 
    {
    char szWindowsPath[MAX_PATH];
    char szDelPath[MAX_PATH];
    GetWindowsDirectory(szWindowsPath,MAX_PATH);    if (m_IeCache.GetCheck())
    {
    LPCSTR SubKey="Software\\Microsoft\\Internet Explorer\\TypedURLs"; 
    RegDeleteKey(HKEY_CURRENT_USER,SubKey); 
    } if (m_IeCookie.GetCheck())
    {
    //InternetSetOption(0,INTERNET_OPTION_END_BROWSER_SESSION,0,0);
    char szCookie[] = "\\Cookie";
    lstrcpy(szDelPath,szWindowsPath);
    lstrcat(szDelPath,szCookie);
    DelDirectory(szDelPath);
    } if (m_IeHistory.GetCheck())
    {
    char szHistory[] = "\\History";
    lstrcpy(szDelPath,szWindowsPath);
    lstrcat(szDelPath,szHistory);
    DelDirectory(szDelPath);
    } if (m_IeTemp.GetCheck())
    {
    char szIeTemp[] = "\\Temporary Internet Files";
    lstrcpy(szDelPath,szWindowsPath);
    lstrcat(szDelPath,szIeTemp);
    DelDirectory(szDelPath);
    }
    if (m_WinList.GetCheck())
    {
    char szRecent[]="\\Recent";
    lstrcpy(szDelPath,szWindowsPath);
    lstrcat(szDelPath,szRecent);
    DelDirectory(szDelPath);
    } if (m_WinTemp.GetCheck())
    {
    char szTemp[] = "\\Temp";
    lstrcpy(szDelPath,szWindowsPath);
    lstrcat(szDelPath,szTemp);
      DelDirectory(szDelPath);
    } CDialog::OnOK();
    }BOOL CClearDlg::OnInitDialog() 
    {
    CDialog::OnInitDialog();

    m_IeCache.SetCheck(1);
    m_IeCookie.SetCheck(1);
    m_IeHistory.SetCheck(1);
    m_IeTemp.SetCheck(1);
    m_WinList.SetCheck(1);
    m_WinTemp.SetCheck(1);

    return TRUE;  // return TRUE unless you set the focus to a control
                  // EXCEPTION: OCX Property Pages should return FALSE
    }void CClearDlg::DelDirectory(LPCSTR DirName)
    {
    CFileFind tempFind; //声明一个CFileFind类变量,以用来搜索
    char tempFileFind[MAX_PATH],HisDirName[MAX_PATH]; //用于定义搜索格式
    sprintf(tempFileFind,"%s\\*.*",DirName); //匹配格式为*.*,即该目录下的所有文件 
    strcpy(HisDirName,DirName); BOOL IsFinded=(BOOL)tempFind.FindFile(tempFileFind); //查找第一个文件
    while(IsFinded)
    {
    IsFinded=(BOOL)tempFind.FindNextFile(); //递归搜索其他的文件 
    char foundFileName[MAX_PATH];
    strcpy(foundFileName,tempFind.GetFileName().GetBuffer(MAX_PATH));
    if(!tempFind.IsDots()) //如果不是"."目录
    {
    if(tempFind.IsDirectory()) //如果是目录,则递归地调用
    { //DeleteDirectory
    char tempDir[MAX_PATH];
    sprintf(tempDir,"%s\\%s",DirName,foundFileName);
    DelDirectory(tempDir);
    }
    else
    { //如果是文件则直接删除之
    char tempFileName[MAX_PATH];
    sprintf(tempFileName,"%s\\%s",DirName,foundFileName);
    DeleteFile(tempFileName);
    }
    }
    }
    if (!strcmp(HisDirName,DirName))
    RemoveDirectory(DirName); tempFind.Close();
    }
      

  2.   

    摘自Kingron的<<Delphi猛料v2.0>>清除Internet Explorer临时文件 在TfrmMain你必须引用WinINet单元 Uses WinINet; 然后放上一个TButton按钮命名为btnEmptyCache,加入以下代码:  Procedure TfrmMain.btnEmptyCacheClick( Sender : TObject );
       Var
        lpEntryInfo : PInternetCacheEntryInfo;
        hCacheDir : LongWord;
        dwEntrySize : LongWord;
        dwLastError : LongWord;
       Begin
        dwEntrySize := 0;
        FindFirstUrlCacheEntry(NIL,TInternetCacheEntryInfoNIL^ ),dwEntrySize );
      GetMem( lpEntryInfo, dwEntrySize );
      hCacheDir := FindFirstUrlCacheEntry( NIL, lpEntryInfo^, 
    dwEntrySize );
      If ( hCacheDir <> 0 ) Then
      DeleteUrlCacheEntry( lpEntryInfo^.lpszSourceUrlName );
      FreeMem( lpEntryInfo );
      Repeat
      dwEntrySize := 0;
      FindNextUrlCacheEntry( hCacheDir, TInternetCacheEntryInfo( 
    NIL^ ), dwEntrySize );
      dwLastError := GetLastError();
      If ( GetLastError = ERROR_INSUFFICIENT_BUFFER ) Then Begin
      GetMem( lpEntryInfo, dwEntrySize );
      If ( FindNextUrlCacheEntry( hCacheDir, lpEntryInfo^, 
    dwEntrySize ) ) Then
      DeleteUrlCacheEntry( lpEntryInfo^.lpszSourceUrlName );
      FreeMem(lpEntryInfo);
      End;
      Until ( dwLastError = ERROR_NO_MORE_ITEMS );  End;
    //清除历史纪录
    type
      TSTATURL = record
        cbSize: DWORD;
        pwcsUrl: DWORD;
        pwcsTitle: DWORD;
        ftLastVisited: FILETIME;
        ftLastUpdated: FILETIME;
        ftExpires: FILETIME;
        dwFlags: DWORD;
      end;type
      IEnumSTATURL = interface(IUnknown)
        ['{3C374A42-BAE4-11CF-BF7D-00AA006946EE}']
        function Next(celt: Integer; out elt; pceltFetched: PLongint): HRESULT; stdcall;
        function Skip(celt: Longint): HRESULT; stdcall;
        function Reset: HResult; stdcall;
        function Clone(out ppenum: IEnumSTATURL): HResult; stdcall;
        function SetFilter(poszFilter: PWideChar; dwFlags: DWORD): HResult; stdcall;
      end;type
      IUrlHistoryStg = interface(IUnknown)
        ['{3C374A41-BAE4-11CF-BF7D-00AA006946EE}']
        function AddUrl(pocsUrl: PWideChar; pocsTitle: PWideChar; dwFlags: Integer): HResult; stdcall;
        function DeleteUrl(pocsUrl: PWideChar; dwFlags: Integer): HResult; stdcall;
        function QueryUrl(pocsUrl: PWideChar; dwFlags: Integer; var lpSTATURL: TSTATURL): HResult; stdcall;
        function BindToObject(pocsUrl: PWideChar; var riid: TGUID; out ppvOut: Pointer): HResult; stdcall;
        function EnumUrls(out ppenum: IEnumSTATURL): HResult; stdcall;
      end;type
      IUrlHistoryStg2 = interface(IUrlHistoryStg)
        ['{AFA0DC11-C313-11D0-831A-00C04FD5AE38}']
        function AddUrlAndNotify(pocsUrl: PWideChar; pocsTitle: PWideChar; dwFlags: Integer;
          fWriteHistory: Integer; var poctNotify: Pointer;
          const punkISFolder: IUnknown): HResult; stdcall;
        function ClearHistory: HResult; stdcall;
      end;function ClearIEHistory:integer;
    const
        CLSID_CUrlHistory: TGUID = '{3C374A40-BAE4-11CF-BF7D-00AA006946EE}';
    var
      IEHistory:IUrlHistoryStg2;
    begin
      IEHistory:=CreateComObject(CLSID_CUrlHistory) as IUrlHistoryStg2;
      IEHistory.ClearHistory;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      ClearIEHistory;
    end;