Wie kann ich eine USB Maus per Win-Api abstöpseln und wieder verbinden.



  • Also es sollte klar sein, das die Maus nicht wirklich physikalisch vom Port getrennt werden soll, lediglich das Verhalten der Maus soll so sein, also ob sie jemand gezogen und wieder eingestöpselt hat.



  • Nur so am Rande: Wenn ich ueber hid-Geraete unter Windows iteriere, tauchen Maus und Tastatur nicht darin auf.



  • Siehe akzeptierte Antwort hier:

    http://stackoverflow.com/questions/1438371/win32-api-function-to-programmatically-enable-disable-device

    Ist gleich der passende Code um ne Maus zu disablen.
    Ist zwar C#, aber in Wirklichkeit werden eh über PInvoke die SetupDi Funktionen aufgerufen. Das nach C++ zurückzuübersetzen sollte nicht sehr schwer sein.

    Nur...

    lediglich das Verhalten der Maus soll so sein, also ob sie jemand gezogen und wieder eingestöpselt hat.

    Du wirst damit nicht unbedingt das Verhalten bekommen als ob die Maus ab- und wieder angesteckt wurde.
    Das Gerät bekommt weiterhin Strom, und ich bin auch nicht sicher ob die ganze USB-Initialisierungs-Phase identisch ist wie wenn man das Gerät ab- und angesteckt hätte.

    Wir hatten mal ein problematisches USB Gerät wo genau das als Workaround für einen sporadisch auftretenden Fehler (USB Soundkarte hat auf einmal lautes Rauschen abgespielt) vorgeschlagen wurde. Ich hab' es dann Gott-sei-Dank bei einem betroffenden Gerät ausprobieren können, und das Effekt war: nix. Das Problem ging erst weg wenn man das Gerät stromlos gemacht hat. Nichtmal ein Reboot des PCs hat geholfen.

    Also je nachdem was du damit erreichen willst probier erstmal aus ob es überhaupt geht. Also einfach im Device-Manager das Gerät disablen und re-enablen, und gucken ob es den gewünschten Effekt hat.


Anmelden zum Antworten