C 系統應用之獲取Windows最近使用記錄

2021-08-15 20:19:29 字數 3157 閱讀 6669

由於畢業設計專案需要刪除windows最近歷史記錄,這就需要獲取windows最近歷史記錄 recent.本文就主要敘述通過c#實現獲取recent中使用的檔案和資料夾.

首先宣告該文章主要是結合自己的畢設專案,同時的主要**來自level up的部落格.在此非常感謝該博主,也希望大家學習他的文章:

在windows系統中有recent items或recent這樣的東西儲存最近使用的檔案和資料夾的歷史記錄,通過快捷鍵"windows+r"開啟執行輸入"recent"可以開啟最近瀏覽檔案和資料夾如下圖所示:

同時由於該獲取較簡單,就不詳細敘述.補充c#獲取桌面、recent、我的文件、我的**、cookies等路徑參考文章

在遍歷recent目錄時,遍歷方法參考了level up的文章

"[c#][vb.net].net捷徑(shortcut)控制"

如下圖"dota2.txt"的捷徑(shortcut),通過目標獲取recent快捷鍵的原始存放路徑.

這裡level up作者整理了乙個類,通過這個類實現獲取檔案原始路徑,右鍵專案"新增"類,**如下:

[csharp] 

view plain

copy

using

system;  

using

system.collections.generic;  

using

system.linq;  

using

system.text;  

using

system.threading.tasks;  

using

system.io;              

//directory 目錄 

using

system.reflection;      

//bindingflags 列舉

namespace

getpathrecent  

);  

var targetfile = result.gettype().invokemember("targetpath"

, bindingflags.getproperty, 

null

, result, 

null

) as

string

;  return

targetfile;  

}  public

static

ienumerable<

string

> getrecentlyfiles()  

}  }  向form中新增控制項listbox和filesystemwatcher(監控檔案系統更改通知,並在目錄或檔案更改時引發事件).具體**如下:

[csharp] 

view plain

copy

using

system;  

using

system.collections.generic;  

using

system.componentmodel;  

using

system.data;  

using

system.drawing;  

using

system.linq;  

using

system.text;  

using

system.threading.tasks;  

using

system.windows.forms;  

namespace

getpathrecent  

//載入form 

private

void

form1_load(

object

sender, eventargs e)  

//獲取recent路徑

var recentfolder = environment.getfolderpath(environment.specialfolder.recent);  

filesystemwatcher1.path = recentfolder;  

filesystemwatcher1.created += new

system.io.filesystemeventhandler(filesystemwatcher1_created);  

}  //當在指定path(即recent路徑)中建立檔案和目錄時增加shortcut

private

void

filesystemwatcher1_created(

object

sender, system.io.filesystemeventargs e)  

}  }  顯示recent中windows最近瀏覽的檔案及資料夾原始路徑執行結果如下:

其中與"一.windows歷史記錄"中圖對應,亦可以發現dota2.txt是對應捷徑"g:\dota2\dota2.txt"證明了文章.到此,我們就獲取到了windows的最近歷史記錄,要實現清除recent的歷史記錄也非常容易,同時清除指定u盤中的檔案記錄也可以實現.同樣如果想刪除office最近歷史記錄路徑為"

".如下圖所示:

該文章主要是結合自己的畢業設計中u盤清除windows歷史記錄、office歷史記錄設計完成,同時檢視了很多資料和書籍,其中給予我幫助最大的是level up的文章,由於這方面的資料較少,所以彌足珍貴.

同時宣告該文章的**主要參考了level up的部落格

最後,希望文章對大家有所幫助,同時希望大家去關注上面提到博主的文章,他寫了很多文章,都非常有用,無論是技術性還是理論性.如果該篇文章中有錯誤或不足之處,請大家海涵!

(by:eastmount 2014-1-19 夜4點

)

C 獲取WINDOWS系統資訊

需引用system.management命名空間,具體 如下 1 public class sysprop 2 mb convert.toint64 getvalue physicalmemory,capacity 1024 1024 13 14 processorname string getva...

C 系統應用之通過登錄檔獲取USB使用記錄 一

該文章是 個人電腦歷史記錄清除軟體 專案的系統應用系列文章.前面已經講述了如何清除ie瀏覽器的歷史記錄 獲取windows最近訪問檔案記錄 清除 站等功能.現在我需要完成的是刪除usb裝置上的u盤 手機 行動硬碟等記錄,真心覺得這方面資料特別少.這篇文章首先主要講述了通過登錄檔獲取usb使用記錄,希...

C 系統應用之通過登錄檔獲取USB使用記錄 一

該文章是 個人電腦歷史記錄清除軟體 專案的系統應用系列文章.前面已經講述了如何清除ie瀏覽器的歷史記錄 獲取windows最近訪問檔案記錄 清除 站等功能.現在我需要完成的是刪除usb裝置上的u盤 手機 行動硬碟等記錄,真心覺得這方面資料特別少.這篇文章首先主要講述了通過登錄檔獲取usb使用記錄,希...