最近研究枚举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}得到的时间是一运行就一个不同的;
求高手解答!