USB Device mappen

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Highnoon.

    USB Device mappen

    Hallo Forum,

    ich weiß nicht ob wie ich das Problem genau beschreiben soll.
    Wenn ich ein Gerät an den USB Port stecke wird es ja von Windows anhand der Vendor- und Geräte ID erkannt und entsprechend installiert.
    Ist es möglich diese Geräte ID abzufangen bzw. zu ändern damit Windows denkt es wäre gerade ein anderes Gerät angesteckt worden?

    Ist ein wenig schwer zu beschreiben. Ich hoffe ihr versteht was ich meine.
    Ideal wäre ein Ansatz in VB Net oder C#

    Gruß
    Hi @Highnoon:
    ob man die ändern kann weiß ich nicht. (Glaube nicht, denn das würde recht sinnfrei sein)
    Hiermit kann man aber Infos über Hardware bekommen. Spiel einfach mal ein bisschen damit rum und schau dir die Dokus zu den Klassen an.

    VB.NET-Quellcode

    1. Using mos As New ManagementObjectSearcher("SELECT * FROM Win32_diskdrive where interfacetype = 'USB'")
    2. For Each mObject As ManagementObject In mos.Get()
    3. For Each pData As PropertyData In mObject.Properties
    4. If pData.Value IsNot Nothing Then
    5. If pData.Name = "PNPDeviceID" Then MessageBox.Show(pData.Value.ToString())
    6. End If
    7. Next
    8. Next
    9. End Using

    (Bei mir war System.Management nicht verwiesen, da musste ich den Verweis extra hinzufügen. Programme -> Reference Assemblies -> und dann glaub unter 3.5 findest du die DLL. Weiß nicht ob du das bei dir brauchst)
    Quellen:
    [VB 2008] Hardware ID auslesen
    stackoverflow.com/questions/23…fast-get-hardware-id-in-c

    LaMiy schrieb:

    Hi @Highnoon:
    ob man die ändern kann weiß ich nicht. (Glaube nicht, denn das würde recht sinnfrei sein)
    Hiermit kann man aber Infos über Hardware bekommen. Spiel einfach mal ein bisschen damit rum und schau dir die Dokus zu den Klassen an.

    VB.NET-Quellcode

    1. Using mos As New ManagementObjectSearcher("SELECT * FROM Win32_diskdrive where interfacetype = 'USB'")
    2. For Each mObject As ManagementObject In mos.Get()
    3. For Each pData As PropertyData In mObject.Properties
    4. If pData.Value IsNot Nothing Then
    5. If pData.Name = "PNPDeviceID" Then MessageBox.Show(pData.Value.ToString())
    6. End If
    7. Next
    8. Next
    9. End Using

    (Bei mir war System.Management nicht verwiesen, da musste ich den Verweis extra hinzufügen. Programme -> Reference Assemblies -> und dann glaub unter 3.5 findest du die DLL. Weiß nicht ob du das bei dir brauchst)
    Quellen:
    [VB 2008] Hardware ID auslesen
    stackoverflow.com/questions/23…fast-get-hardware-id-in-c
    Ich habe am Wochenende damit mal rumgespielt. Funktioniert ganz gut und
    man kann sich alle Eigenschaften (egal ob es Festplatten sind oder
    andere Geräte die von Windows erkannt werden) anschauen und ausgeben
    lassen. Leider sind das alles Read-Only Werte. Ändern kann man also
    nichts.

    Trotzdem danke für den Hinweis!

    Gruß