c ++ - Sådan får du Monitor serienummer?

Indlæg af Hanne Mølgaard Plasc

Problem



Er der nogen, der ved, hvordan man får serienummeret til tilsluttede skærme i C eller C ++? Jeg fandt nogle kode, men de er skrevet i vbs, som jeg ikke forstår. Jeg har brug for nogle eksempler kode skrevet i C eller C ++. Jeg ved, at serienumre er læst fra EDID, men desværre ved jeg ikke hvordan :( Kunne nogen hjælper mig?


Tak


Opdatering: Jeg har også brug for skærme typen, men det kan også læses fra EDID

Bedste reference


Det er ikke præcis det, du leder efter, men et godt udgangspunkt bør være GetMonitorInfo [1]


Jeg tror at grave nogle mere på msdn siderne skal give dig alt, hvad du har brug for. MSDN er faktisk et godt sted at kigge efter C/C ++ Windows API funktioner.

Andre referencer 1


Her er et link til forhåbentlig mere læsbar VB kode. Hvad han egentlig gør, ser i registreringsdatabasen, hvor Windows gemmer EDID-data på skærmen. Den er placeret på HKEY\_LOCAL\_MACHINE \ SYSTEM \ CurrentControlSet \ Enum \ DISPLAY \ ... \ Enhedsparametre [2]


I wikipedia-artiklen kan du finde oplysninger om EDID-formatet [3]

Andre referencer 2


Denne DisplayDetails.GetMonitorDetails () kode fungerede godt for mig. Jeg fandt i min test, at Dell-skærme pålideligt returnerede S/N-oplysninger, men alle ikke-Dell-displays, jeg forsøgte (3 andre mærker), gjorde det ikke. [4]