程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# 系統應用之獲取IE浏覽記錄和IE地址欄輸入網址

C# 系統應用之獲取IE浏覽記錄和IE地址欄輸入網址

編輯:C#入門知識

該文章是“個人電腦歷史記錄清除軟件”項目的系統應用系列文章.
前面"
C# 系統應用之清除Cookies、IE臨時文件、歷史記錄"中已經講述了借助RunDll32.exe運行dll文件實現清除IE緩存操作,同時網上有很多方法講述刪除操作的,但怎樣獲取IE浏覽器中最近浏覽的網站歷史記錄和IE浏覽器的地址欄輸入的網址呢?這是我這篇文章需要講解的知識.

一.Environment.GetFolderPath方法獲取IE歷史記錄

前文說過在Windows中IE歷史記錄的位置為:"C:\Users\dell\AppData\Local\Microsoft\Windows\History",歷史記錄是存放最近時間訪問過的網站地址,它以時間和站點存儲.如下圖所示:
\

那麼,我們可以通過Environment.GetFolderPath(Environment.SpecialFolder.History)獲取IE歷史記錄.

private void button3_Click(object sender, EventArgs e)
{
    //清空listBox
    listBox1.Items.Clear();
    //獲取Internet歷史記錄文件路徑
    string dirPath = Environment.GetFolderPath(Environment.SpecialFolder.History);
    listBox1.Items.Add("Internet歷史記錄路徑:");
    listBox1.Items.Add(dirPath);

    //遍歷所有的文件夾 顯示所有文件
    DirectoryInfo dir = new DirectoryInfo(dirPath);
    int num = 1;
    foreach (FileInfo file in dir.GetFiles("*.*", SearchOption.AllDirectories))
    {
        try
        {
            listBox1.Items.Add("(" + num + ")   " + file);
            num++;
        }
        catch (Exception msg)     //異常處理
        {
            MessageBox.Show(msg.Message);
        }
    }
}

其中Environment.GetFolderPath(Environment.SpecialFolder.XXX)用於檢索系統特殊文件夾的路徑,常見有:
(1).History 用作 Internet 歷史記錄項的公共儲存庫的目錄
(2).Cookies 用作 Internet Cookie 的公共儲存庫的目錄
(3).InternetCache 用作 Internet 臨時文件的公共儲存庫的目錄
(4).Recent 包含用戶最近使用過的文檔的目錄
(5).MyPictures “My Pictures”文件夾
(6).MyDocuments “我的電腦”文件夾
(7).ProgramFiles “Program files”目錄
但是運行它進行刪除delete操作或獲取操作時,它常常會有系統文件,很多文件不能訪問到.在刪除中就會遇到"該文件正在另一進程使用,因此該進程無法訪問此文件"或"文件訪問被拒絕".而采用RunDll32.exe調用Win32 API函數ShellExecute()執行實現的.同樣,使用它獲取得到的歷史記錄如下圖所示.顯然不是我想要的結果,同時在清除Cookies後還是能顯示很多Cookies信息.猜測是Google、360等浏覽器的?

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved