2011-09-01 5 views
4

Est-ce que quelqu'un sait comment obtenir le numéro de série des moniteurs connectés en C ou C++? J'ai trouvé du code, mais ils sont écrits en vbs que je ne comprends pas. J'ai besoin d'un exemple de code écrit en C ou C++. Je sais que les numéros de série sont lus à partir EDID mais malheureusement je ne sais pas comment :(Quelqu'un pourrait-il me aiderComment obtenir le numéro de série du moniteur?

Merci

Mise à jour: Je dois aussi les moniteurs de type trop, mais cela peut être lu à partir EDID trop en quelque sorte

+0

Il peut être utile de poster un lien vers le code que vous avez trouvé dans VBScript – Justin

+0

@Justin: Vous le trouverez ici http://forum.bigfix.com/viewtopic.php?id=1552 – kampi

+0

Essentiellement, ce code lit le 'HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Enum \ DISPLAY' et les met en correspondance avec les données WMI (HKLM contient également des données EDID pour les moniteurs connectés par le passé). Vous pouvez également obtenir les informations liées à SetupAPI (class Monitors) – MSalters

Répondre

2

Here est un lien vers le code VB je l'espère plus lisible. Ce qu'il est fondamentalement faire est à la recherche dans le registre où les fenêtres stockées les données EDID du moniteur. Il est situé à HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Enum \ DISPLAY \ ... \ Paramètres de l'appareil

Dans l'article wikipedia vous pouvez f informations ind sur le EDID format

2

Il est pas exactement ce que vous recherchez, mais un bon point de départ devrait être GetMonitorInfo

Je pense que creuser un peu plus dans les pages msdn devrait vous donner tout ce dont vous avez besoin. MSDN est en fait un excellent endroit pour rechercher des fonctions de l'API Windows C/C++.

0

Ce DisplayDetails.GetMonitorDetails() code fonctionnait très bien pour moi. J'ai trouvé dans mes tests que les moniteurs Dell renvoyaient des informations S/N de manière fiable, mais pas tous les autres écrans que j'ai essayé (3 autres marques).

Questions connexes