Es ist eine ziemlich gute Chance, dass Sie können, ja.
Sie können Informationen über Maus und Tastatur abrufen, indem Sie Geräte der Klassen Win32_Keyboard
und Win32_PointingDevice
mithilfe von WMI auflisten.
Ich würde (zB) das "Hersteller" -Feld der Maus ignorieren, das den Treiber und nicht die Hardware widerspiegelt (zB auf der Maschine, die ich gerade benutze, es sagt "Microsoft", aber die Maus) ist eigentlich ein Logitech).
Sie haben wahrscheinlich eine bessere Chance, genaue Informationen zu erhalten, wenn Sie sich die PnP-Geräte-ID ansehen. Dies ist möglicherweise nicht 100% idiotensicher (siehe unten), aber auf dieser Maschine enthält der Hersteller-ID-Teil der PnP-Geräte-ID "046D", was genau zu Logitech passt.
Da dies nicht idiotensicher ist, kann ich ein paar Möglichkeiten sehen. Das eine wäre ein Buy-Out, bei dem ein Unternehmen ein anderes kaufte und den vorhandenen Hardware-Bestand unter dem neuen Label verkaufte, ohne seine Vendor-ID zu ändern. In diesem Fall können Sie möglicherweise eine Maus von Marke X durch eine andere (derzeit) Marke X ersetzen, aber die PnP-Geräte-IDs würden immer noch als von verschiedenen Herstellern stammend angezeigt. In der anderen Richtung kann ich mir die Möglichkeit vorstellen, dass ein Mausanbieter Mäuse mit der Hersteller-ID an den Hersteller des USB-Schnittstellenchips versendet, anstatt eine eigene Hersteller-ID zu erhalten. In diesem Fall könnten Sie zwei Mäuse mit verschiedenen Marken auf der Außenseite, aber die gleiche Hersteller-ID auf der Innenseite haben. Ein Anbieter könnte auch zwei Mäuse mit der gleichen Marke, aber verschiedenen Interface-Chips bauen, so dass Sie ein falsches positives Ergebnis erhalten könnten, indem Sie verschiedene Marken anzeigen, obwohl die Verpackung sie als dieselbe Marke zeigt.
Oh, eine andere Möglichkeit: mindestens einige Anbieter haben mehr als eine Hersteller-ID. Hewlett Packard (für ein Beispiel) hat mindestens zwei unter seinem eigenen Namen (und einen unter dem Compaq-Namen, der dem ersten oben genannten Szenario zumindest etwas Glaubwürdigkeit verleiht).
Ich weiß ehrlich nicht, wie wahrscheinlich eines davon in der Praxis entstehen wird. Vermutlich sind sie wahrscheinlich besonders extrem - wirklich Low-End- oder wirklich High-End-Hardware. Mainstream-Hardware dürfte sehr viel stabiler sein.
In jedem Fall denke ich, das ist wahrscheinlich das Beste, was Sie über Software tun können.
'Ich benutze Visual C++ 6.0' Nicht, es ist 18 Jahre alt und sehr veraltet. Und deine Frage hat keine universelle Ja/Nein-Antwort. – deviantfan
Ich habe keine Wahl mit Visual C++. Mein Computer ist ziemlich alt, das ist der Grund. – citroen
Btw., Gibt es Dinge wie USB-Schlösser usw.. Wenn es ein Problem mit Leuten gibt, die billige Geräte nehmen, ist das besser als halb funktionierende Software. – deviantfan