vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Wechseldatenträger Event ? 
Autor: Urot
Datum: 20.03.05 22:24

so ich hab nun ne lösung mit wmi gefunden dort kriege ich aber 2 parameter über den event mit denen ich nicht klarkomme weil ich die datentypen nicht verstehe
uint8 ( würde ich als byte interpretieren ) und int64
der uin8 wert soll irgendwelche security infos enthalten und der uint64 die zeit
zu der der event vom system ausgelöst wurde also den uinz64 wert hat ich kann aber nichts mit anfangen und den anderen wert krieg ich erst gar nicht
nichtmal MsgBox(mp.Value.ToString) funktioniert

code probiern und einfach cdrom aufmachen oder usbstick rein reicht

hier der code

    Declare Function GetDriveType Lib "Kernel32" _
                 Alias "GetDriveTypeA" ( _
                 ByVal nDrive As String) As Integer
 
    Enum DeviceType
        Unknown = 0
        Not_Root_Directory = 1
        RemovableDisk = 2
        LocalDisk = 3
        NetworkDrive = 4
        CompactDisc = 5
        RAMDisk = 6
    End Enum
 
    Enum EventType
        ConfigurationChanged = 1
        DeviceArrival = 2
        DeviceRemoval = 3
        Docking = 4
    End Enum
 
    Structure DeviceEventInfo
        Dim deviceType As devicetype
        Dim driveName As String
        Dim eventType As eventtype
        Dim fireTime As DateTime
        Dim TIME_CREATED As UInt64
        Dim SECURITY_DESCRIPTOR As Byte
    End Structure
 
    Dim WithEvents w As ManagementEventWatcher
    Dim q As WqlEventQuery
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
        q = New WqlEventQuery("Select * from Win32_DeviceChangeEvent")
        w = New ManagementEventWatcher(q)
        w.Start()
    End Sub
 
    Private Sub w_EventArrived(ByVal sender As Object, ByVal e As _
      System.Management.EventArrivedEventArgs) Handles w.EventArrived
        Dim dInfo As New DeviceEventInfo
        dInfo.fireTime = DateTime.Now
        For Each mp As Management.PropertyData In e.NewEvent.Properties
            If mp.Name = "DriveName" Then
                dInfo.driveName = mp.Value
                dInfo.deviceType = DeviceType.Parse(GetType(DeviceType), _
                  GetDriveType(mp.Value))
            ElseIf mp.Name = "EventType" Then
                dInfo.eventType = EventType.Parse(GetType(EventType), _
                  mp.Value.ToString)
            ElseIf mp.Name = "SECURITY_DESCRIPTOR" Then
                ' soll eigentlich in die dinfo 
                MsgBox(mp.Value.ToString) ' DAS GEHT NICHT
            ElseIf mp.Name = "TIME_CREATED" Then
                ' das ist die zeit zu der der event generiert wurde !
                Dim p As UInt64 = mp.Value
            Else
                MsgBox(mp.Name & " | " & mp.Value.ToString)
            End If
        Next
    End Sub
 
    Private Sub Form1_Closing(ByVal sender As Object, ByVal e As _
      System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
        w.Stop()
    End Sub
danke falls mich irgendwer aufklären kann hatte schon öfter probleme mit den WMI datentypen
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Wechseldatenträger Event ?1.072Urot19.03.05 19:31
Re: Wechseldatenträger Event ?852Urot20.03.05 22:24
Re: Wechseldatenträger Event ?775Urot22.03.05 15:49
Re: Wechseldatenträger Event ?824Supernova22.03.05 16:05
Re: Wechseldatenträger Event ?797Supernova22.03.05 16:50
Re: Wechseldatenträger Event ?768Supernova22.03.05 20:02
da gibts noch ne andere lösung881Urot23.03.05 03:41
fast vergessn806Urot23.03.05 03:44

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel