Unik maskinvare -ID i C#

U

Enhver datamaskin har komponenter som har et bestemt serienummer. Noen numre tildeles når operativsystemet er installert, men noen er faktisk innebygd i maskinvaren. Ved å bruke C#kan flere innebygde serier kombineres for å lage en unik datamaskin -ID.

Hvorfor en unik serie? En enkel grunn er for merkevareprogramvare til en bestemt datamaskin. Et kanskje lite fleksibelt lisenssystem, det kan være ganske effektivt avhengig av hvordan det brukes.

For denne artikkelen bruker vi to serier, harddisken og CPU -en. Begge vil bli oppnådd med det innebygde C# -klassen System.Management.

Hvis du oppretter et nytt prosjekt i Visual Studio 2005 (noen av utgavene), vil du merke at linjen “bruk av System.Management” ikke fungerer. Du må legge det til manuelt:

  • Gå til Solution Explorer
  • Høyreklikk på Referanser og klikk “Legg til referanse …”
  • Finn System.Management fra .Net -fanen.

Når det er satt opp, er det enkelt å få maskinvare -ID -ene.

Harddisk -ID -ene avhenger åpenbart av harddisken. Her er pseudokoden:

  • Lag et ManagementObject med strengen “win32_logicaldisk.deviceid =[drive letter here]: “
  • Få tilgang til serien med indeksen “VolumeSerialNumber”, for eksempel disk[“VolumeSerialNumber”] hvor disken er ManagementObject

CPU -ID -en er faktisk ganske fleksibel også. Mange datamaskiner har i dag mer enn én CPU. Du bruker den første som i mitt eksempel, eller flere:

  • Lag et ManagementObject med strengen “win32_processor”
  • Gå gjennom de tilgjengelige prosessorene
  • Få tilgang til eiendommen slik: managObject.Properties[“processorID”]

Å kombinere dem kan være enkelt eller komplekst. Bare å legge dem sammen på rad fungerer helt fint. For mitt eksempel blir noen redundante 0 -er fjernet før ID -ene til den første tilgjengelige stasjonen og den første CPU -en kommer.

Prøv det for å se hvordan tallene ser ut.

About the author

Add comment

By user

Recent Posts

Recent Comments

Archives

Categories

Meta