最近研究枚举USB设备的创建时间和最近插拨时间的功能,但苦于无果,所以上帖子问一问:
Code如下:
{Private Sub cmdCheckUSB_Click()
On Error Resume Next
Dim hKey, inkey As Long
Dim i, m
Dim astr As String * 512
Dim sn As String * 512
Dim deviceName As String
Dim deviceclass As String
Dim deviceDescription As String
Static num As Integer
Dim selVer As Long
Dim sn1 As String
Dim sn2 As String
Dim sn3 As String
Dim ret As String
Dim de_str As String
Dim astr1 As String
Dim desc() As String
Dim desc_str() As String
Dim total_str As String
Dim syspath As String
Dim Ret__S As Long
Dim con_str As String
Dim i_var As Integer
Dim isameusb As Boolean
Dim a, b
Dim colum1, colum2, colum3, colum4 As String
Dim usb_Time As FILETIME
Dim usb_LocalTime As FILETIME
Dim key_cl As String * 512
Dim usb_systime As SYSTEMTIME
Dim retUsbTime As String
isameusb = False
num = 0 If RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SYSTEM\ControlSet001\Enum\USBSTOR" , 0, KEY_ALL_ACCESS, inkey) = ERROR_SUCCESS Then '提升注册操作权限
sn1 = Left(sn, InStr(sn, vbNullChar)) 'inkey, m, sn, 512
While RegEnumKeyEx(inkey, m, sn, 512, 0, key_cl, 512, usb_Time) = ERROR_SUCCESS
FileTimeToLocalFileTime usb_Time, usb_LocalTime
FileTimeToSystemTime usb_LocalTime, usb_systime
retUsbTime = CStr(usb_systime.wYear) & "-" & _
CStr(usb_systime.wMonth) & "-" & _
CStr(usb_systime.wDay) & " " & _
CStr(usb_systime.wHour) & ":" & _
CStr(usb_systime.wMinute) & ":" & _
CStr(usb_systime.wSecond)
msgbox retUsbTime
num = num + 1
End If
usb_Time.dwHighDateTime = 0
usb_Time.dwLowDateTime = 0
m = m + 1
Wend
RegCloseKey inkey
End If
End Sub}得到的时间是一运行就一个不同的;
求高手解答!
Code如下:
{Private Sub cmdCheckUSB_Click()
On Error Resume Next
Dim hKey, inkey As Long
Dim i, m
Dim astr As String * 512
Dim sn As String * 512
Dim deviceName As String
Dim deviceclass As String
Dim deviceDescription As String
Static num As Integer
Dim selVer As Long
Dim sn1 As String
Dim sn2 As String
Dim sn3 As String
Dim ret As String
Dim de_str As String
Dim astr1 As String
Dim desc() As String
Dim desc_str() As String
Dim total_str As String
Dim syspath As String
Dim Ret__S As Long
Dim con_str As String
Dim i_var As Integer
Dim isameusb As Boolean
Dim a, b
Dim colum1, colum2, colum3, colum4 As String
Dim usb_Time As FILETIME
Dim usb_LocalTime As FILETIME
Dim key_cl As String * 512
Dim usb_systime As SYSTEMTIME
Dim retUsbTime As String
isameusb = False
num = 0 If RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SYSTEM\ControlSet001\Enum\USBSTOR" , 0, KEY_ALL_ACCESS, inkey) = ERROR_SUCCESS Then '提升注册操作权限
sn1 = Left(sn, InStr(sn, vbNullChar)) 'inkey, m, sn, 512
While RegEnumKeyEx(inkey, m, sn, 512, 0, key_cl, 512, usb_Time) = ERROR_SUCCESS
FileTimeToLocalFileTime usb_Time, usb_LocalTime
FileTimeToSystemTime usb_LocalTime, usb_systime
retUsbTime = CStr(usb_systime.wYear) & "-" & _
CStr(usb_systime.wMonth) & "-" & _
CStr(usb_systime.wDay) & " " & _
CStr(usb_systime.wHour) & ":" & _
CStr(usb_systime.wMinute) & ":" & _
CStr(usb_systime.wSecond)
msgbox retUsbTime
num = num + 1
End If
usb_Time.dwHighDateTime = 0
usb_Time.dwLowDateTime = 0
m = m + 1
Wend
RegCloseKey inkey
End If
End Sub}得到的时间是一运行就一个不同的;
求高手解答!
解决方案 »
- 如何得到win98下的显卡类型?我查了WMI的函数都是for win2000的
- 请问各位大侠,小弟新近做了一个小程序,已经完成,请各位推荐几个合适的打包软件吧!谢谢
- 用VB做安装程序的困惑(高分求教)
- 请问:如何获得一个已知的wav声音文件的时间长度?
- 用ADO连接数据库时,怎么查询数据库中存在的表?
- 新手求助
- conn.ConnectionString = " provider.......
- 读取网卡的问题
- to zhengsb(Rainbow): 你刚发的贴子中说找到了activereport中动态字段报表的例子,请问是哪个例子呢?真的能让用户自己选择要打印的字段吗?
- 谁能告诉我,快来
- 如何获得光标是在表格的第几行?
- VB中关于回调函数,和Addressof的用法
FileTimeToLocalFileTime usb_Time, usb_LocalTime
FileTimeToSystemTime usb_LocalTime, usb_systime
而不是
FileTimeToSystemTime usb_Time, usb_systime