Уникален хардуерен идентификатор в C #

Всеки компютър има компоненти, които носят определен сериен номер. Някои номера се присвояват при инсталиране на операционната система, но някои всъщност са вградени в хардуера. Използвайки C #, могат да се комбинират множество вградени сериали, за да се създаде уникален идентификатор на компютъра.

Защо уникален сериал? Простата причина е за брандиране на софтуер на определен компютър. Може би негъвкава система за лицензиране, тя може да бъде доста ефективна в зависимост от начина, по който се използва.

За тази статия ще използваме две сериали, твърдия диск и процесора. И двете ще бъдат получени с вградената система C # клас System.Management.

Ако създадете нов проект в Visual Studio 2005 (някое от изданията), ще забележите, че редът „използване на System.Management“ не работи. Трябва да го добавите ръчно:

  • Отидете на Solution Explorer
  • Щракнете с десния бутон върху Референции и щракнете върху „Добавяне на референция …“
  • Намерете System.Management от раздела .Net.

След като сте настроили, лесно можете да получите хардуерните идентификатори.

Идентификационните номера на твърдия диск очевидно зависят от твърдия диск. Ето псевдокода:

  • Създайте ManagementObject с низа “win32_logicaldisk.deviceid =[drive letter here]: “
  • Достъп до сериала с индекс “VolumeSerialNumber”, например диск[“VolumeSerialNumber”] където дискът е ManagementObject

Идентификаторът на процесора всъщност също е доста гъвкав. Днес много компютри имат повече от един процесор. Използвате първата, както в моя пример, или няколко такива:

  • Създайте ManagementObject с низа “win32_processor”
  • Прегледайте наличните процесори
  • Осъществете достъп до свойството така: ManagObject.Properties[“processorID”]

Комбинирането им може да бъде просто или сложно. Простото им добавяне в един ред работи отлично. За моя пример някои излишни 0 се премахват, преди да се появят идентификационните номера на първото налично устройство и първото CPU.

Изпробвайте, за да видите как изглеждат числата.