日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > C# >内容正文

C#

c# u盘使用记录_C# 系统应用之通过注册表获取USB使用记录(一)

發(fā)布時(shí)間:2024/1/23 C# 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c# u盘使用记录_C# 系统应用之通过注册表获取USB使用记录(一) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

該文章是“個(gè)人電腦歷史記錄清除軟件”項(xiàng)目的系統(tǒng)應(yīng)用系列文章.

前面已經(jīng)講述了如何清除IE瀏覽器的歷史記錄、獲取Windows最近訪問(wèn)文件記錄、清除回收站等功能.現(xiàn)在我需要完成的是刪除USB設(shè)備上的U盤、手機(jī)、移動(dòng)硬盤等記錄,真心覺(jué)得這方面資料特別少.這篇文章首先主要講述了通過(guò)注冊(cè)表獲取USB使用記錄,希望對(duì)大家有所幫助.

一.注冊(cè)表基本知識(shí)

注冊(cè)表(registry)是Windows系統(tǒng)中一個(gè)重要的數(shù)據(jù)庫(kù),它用于存儲(chǔ)有關(guān)應(yīng)用程序、用戶和系統(tǒng)信息.注冊(cè)表的結(jié)構(gòu)就像一顆樹(shù).樹(shù)的頂級(jí)節(jié)點(diǎn)(hive)不能添加、修改和刪除.如下圖所示是Windows注冊(cè)表的頂級(jí)節(jié)點(diǎn):

(1).HKEY_CURRENT_USER:包含當(dāng)前登錄到Windows的用戶配置信息

(2).HKEY_USERS:包含計(jì)算機(jī)所有用戶的配置信息

(3).HKEY_LOCAL_MACHINE:包含與計(jì)算機(jī)相關(guān)的配置信息,不論用戶是否登錄

(4).HKEY_CLASSES_ROOT:包含將文件類型同程序關(guān)聯(lián)起來(lái)的信息及COM組件配置數(shù)據(jù)

(5).HKEY_CURRENT_CONFIG:包含本地計(jì)算機(jī)啟動(dòng)時(shí)所使用的硬件描述文件.

詳見(jiàn)百度百科

二.C#中注冊(cè)表簡(jiǎn)單使用

在前面"C# 系統(tǒng)應(yīng)用之IE瀏覽器記錄和地址欄輸入網(wǎng)址"文章中我已經(jīng)簡(jiǎn)單的使用了通過(guò)注冊(cè)表獲取地址欄的信息并顯示.這里想講講注冊(cè)表常使用的獲取內(nèi)容方法.主要代碼如下:

其中,RegistryKey類(MSDN)表示注冊(cè)表中的頂級(jí)結(jié)點(diǎn),此類是注冊(cè)表封裝.Registry類(MSDN)提供表示W(wǎng)indows注冊(cè)表中的根項(xiàng)的RegistryKey對(duì)象,并提供訪問(wèn)項(xiàng)/值.常用值如下對(duì)應(yīng)的是注冊(cè)表頂級(jí)節(jié)點(diǎn)內(nèi)容.

上面代碼獲取IE瀏覽器地址欄最近輸入U(xiǎn)RL對(duì)應(yīng)的注冊(cè)表樹(shù)形路徑為:

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs

通過(guò)Registry.CurrentUser(HKEY_CURRENT_USER)中的OpenSubKey函數(shù)檢索指定的子項(xiàng),并指定是否將寫訪問(wèn)權(quán)限應(yīng)用于該項(xiàng).最后通過(guò)GetValueNames()獲取檢索的所有值.函數(shù)原型:

三.注冊(cè)表如何存儲(chǔ)USB信息

此處查閱多處資料并主要引用《計(jì)算機(jī)信息獲取系統(tǒng)的研究與實(shí)現(xiàn)》論文部分:http://cdmd.cnki.com.cn/Article/CDMD-10431-2010236667.htm

在Windows系統(tǒng)中,當(dāng)一個(gè)USB移動(dòng)存儲(chǔ)設(shè)備插入時(shí),就會(huì)在注冊(cè)表中留下痕跡.當(dāng)移動(dòng)設(shè)備插入計(jì)算機(jī)時(shí),即插即用管理器PnP(Plug and Play)接受該事件,并且在USB設(shè)備的固件(Firewre information)中查詢有關(guān)該設(shè)備的描述信息(廠商、型號(hào)、序列號(hào)等).當(dāng)設(shè)備被識(shí)別后,在注冊(cè)表中創(chuàng)建一個(gè)新的鍵值:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR

在這個(gè)鍵值下,會(huì)看到類似下面的結(jié)構(gòu)子鍵:(該子鍵代表設(shè)備類標(biāo)示符,用來(lái)標(biāo)識(shí)設(shè)備的一個(gè)特定類)

Disk&Ven_###&Prod_###&Rev_###

其中子鍵中"###"代表區(qū)域由PnP管理器依據(jù)在USB設(shè)備描述符中獲取的數(shù)據(jù)填寫.如下圖所示

Disk&Ven_aigo&Prod_Miniking&Rev_8.07是Device class ID

Q0UKCH37&0是Unique instance ID(UID)

如果使用UVCView工具可以看見(jiàn)USB設(shè)備描述內(nèi)容,其中的信息都是相互對(duì)應(yīng)的.設(shè)備類ID一旦建立,就需要建立一個(gè)特定唯一的UID.它可以把具有同一設(shè)備類標(biāo)識(shí)的多個(gè)存儲(chǔ)設(shè)備區(qū)分.

四.程序?qū)崿F(xiàn)獲取USB使用信息

具體代碼如下所示,同時(shí)希望大家去下載wnt08的代碼,很有幫助http://download.csdn.net/detail/lwnt08/3083499

運(yùn)行結(jié)果如下圖所示:

其中對(duì)應(yīng)的注冊(cè)表信息如下圖所示:

其中對(duì)應(yīng)的FriendlyName即是輸出的“USB名稱 aigo Miniking USB Device”,UID序號(hào)為"Q0UKCH37".搜索的Service(服務(wù))為disk(磁盤)的選項(xiàng).

五.總結(jié)與展望

首先個(gè)人感觸,這方面的資料真心很少,文章博客也少,所以看起來(lái)操作似乎很簡(jiǎn)單,但真正實(shí)現(xiàn)起來(lái)還是令人深思的.然后就是其實(shí)存儲(chǔ)USB記錄的還有很多鍵值.如

1.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB

該鍵值中能看到廠商號(hào)(VID_)、廠商產(chǎn)品號(hào)(PID_),還有LocationInformation(端口號(hào)) Port_#0001.Hub_#0005等.

2.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses

該鍵值下有兩個(gè)設(shè)備類:{53F56307-B6BF-11D0-94F2-00A0C91EFB8B}{53F5630d-B6BF-11D0-94F2-00A0C91EFB8B},可以通過(guò)他們獲取USB最后接入系統(tǒng)時(shí)間.

接下來(lái)我想要完成的就是如何把這些鍵值聯(lián)系起來(lái),似乎要通過(guò)Dictionary,同時(shí)怎樣獲取時(shí)間,怎樣正確刪除這些信息.最后希望文章對(duì)大家有所幫助,如果有錯(cuò)誤或不足之處,還請(qǐng)海涵!最后感謝下面參考資料的一些文章博客和作者.這類資料真心不好找,都是相關(guān)的內(nèi)容而且不錯(cuò)的,有的引用,有的沒(méi)有,但都不錯(cuò),也希望這些鏈接大家能用到.

(By:Eastmount 2014-4-8 夜1點(diǎn)半 原創(chuàng)CSDNhttp://blog.csdn.net/eastmount/)

參考資料及相似文章(值得一看):

1.《計(jì)算機(jī)信息獲取系統(tǒng)的研究與實(shí)現(xiàn)》論文講訴了計(jì)算機(jī)取證學(xué)及USB原理

http://cdmd.cnki.com.cn/Article/CDMD-10431-2010236667.htm

2.Tracking USB storage: Analysis ofwindowsartifacts generated by USB storage devices

英文文章,如何獲取USB使用記錄的時(shí)間及信息

http://www.sciencedirect.com/science/article/pii/S1742287605000320

3.用C# 編寫USB存儲(chǔ)設(shè)備使用痕跡檢測(cè)和刪除工具 講訴了如何刪除獲取分章節(jié)講解

http://blog.csdn.net/metaphysis/article/details/18504315

4.C# 讀取注冊(cè)表獲取U盤使用記錄

http://download.csdn.net/detail/lwnt08/3083499

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的c# u盘使用记录_C# 系统应用之通过注册表获取USB使用记录(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。