2016-10-19 1 views
-2

Gibt es eine Möglichkeit, die Marke der Maus an den Computer angeschlossen, oder die Marke der Tastatur mit dem PC verbunden zu erkennen? Ich habe gehört, dass Maus oder Tastatur keine Seriennummern haben, aber ich habe vielleicht falsch gehört.Marke der Maus oder Tastatur mit Visual C++

Mein Hauptziel ist herauszufinden, wenn die Maus und/oder die Tastatur des Computers mit einem anderen geändert wird. Ich benutze visuelles C++. Gibt es eine Möglichkeit, in Visual C++ - Programm zu erkennen, dass die häufig verwendete Maus oder Tastatur an einem Computer durch eine andere ersetzt wird?

Ich verwende Visual C++ 6.0.

+4

'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

+0

Ich habe keine Wahl mit Visual C++. Mein Computer ist ziemlich alt, das ist der Grund. – citroen

+0

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

Antwort

3

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.

+0

Danke für die Antwort. Aber denken Sie, dass WMI mit Visual C++ 6.0 verwendet werden kann? Ich meine, im Link für Win32_Keyboard ist es unten geschrieben: Minimum Unterstützter Client - Windows Vista, und ich benutze Windows XP? – citroen

+0

Ja, WMI funktioniert gut mit VC++ 6 unter Windows XP (Ich habe diese exakte Kombination persönlich verwendet). –

Verwandte Themen