C#如何读取U盘插入的时间

来源:互联网 发布:ps在mac上如何下载 编辑:程序博客网 时间:2024/05/16 11:58
如图:

通过检测注册表里的 "Enum\\USBSTOR",已经可以获取U盘的型号,但是如何检测到U盘的插入时间呢?

参考:
Extracting USB Artifacts from Windows 7
How to Analyze USB Device History in Windows
Windows 7 Registry Forensics: Part 5
Windows 7 Registry Forensics: Part 6
最重点打开注册表,在HKLM/System/CurrentControlSet\Enum\USB\下面找到相应的键,然后点右键导出,打出的文件个是选择txt的,打开后就能看到最后写入时间了。具体怎么找设备,你可以看看文章,也可以参考下面的文件,里面有不同的操作系统注册表相关信息所在的键的位置。
USB Drive Enclosure-Guide
文章里面也提到了USBDeview,我想你用的应该就是这个软件吧。

读取注册表最后写入时间,如果不想自己写代码,就用下面链接的类,直接DateTime dTime = RegQuery.lastWriteTime("注册表键");就可以了。
Class for RegQueryInfoKey pinvoke

根据上面参考的几篇文章,USB设备第一次接入的时间是在setupapi log (系统驱动盘\Windows\inf\setupapi.dev.log  for Windows Vista/7/8)(系统驱动盘\Windows\setupapi.log for Windows XP)这个文件里面。可以通过设备的序列号来搜索。
有篇文章提到这个文件里面的时间是电脑本地时间,不是UTC时间,所以如果要比较的话,需要转换一下。

原创粉丝点击