Domanda

So che un è già stato chiesto di generare un ID univoco per una macchina, ma la mia domanda è leggermente diversa.

Vorrei sapere se ci sono altri metodi (chiamate API?) Per ottenere informazioni hardware e non utilizzare WMI. Ho capito da MSDN che WMI è introdotto in Win2000 modo che doesnt sembra essere disponibile in Win98. Ho una domanda che deve funzionare anche su Win98 (lo so che fa schifo, ma cosa si può fare?) E ancora entrare in possesso di informazioni sull'hardware.

È stato utile?

Soluzione

Ho fatto questo più volte per i progetti di licensing. Per l'unità Usa numero di serie del disco:

private static extern long GetVolumeInformation(string PathName, StringBuilder VolumeNameBuffer, UInt32 VolumeNameSize, ref UInt32 VolumeSerialNumber, ref UInt32 MaximumComponentLength, ref UInt32 FileSystemFlags, StringBuilder FileSystemNameBuffer, UInt32 FileSystemNameSize);

Utilizza il VolumeSerialNumber che viene restituito dalla funzione.

Inoltre, si può avere pensato di usare il numero di serie di Windows (Situato a HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId). Attenzione, un gran numero di utenti di Windows XP hanno copie pirata e condividere le chiavi stesso prodotto.

Altri suggerimenti

È possibile combinare diverse informazioni hardware al fine di creare una chiave univoca.

Ad esempio, ID CPU, MAC address ecc ecc Tu li recupera, combinarle, li cifrare e si dispone di una rappresentazione unica della configurazione hardware di questa macchina.

Prova googling sul tema:. Come leggere le informazioni hardware

Da quello che posso vedere non v'è un post molto utile in CodeProject: Come Ottenere Informazioni Hardware (ID CPU, Scheda principale Info, hard Disk Serial, informazioni di sistema, ...) .

Guardare attraverso kernel32 del WinAPI e user32 biblioteca. Ha tutti i tipi di chicche come EnumDisplayDevices , GetLogicalDrives , GlobalMemoryStatus , GetVolumeInformation , ecc, ecc mi piace usare PInvoke per navigare l'API dato che mi dà la C # codice wrapper -. ma MSDN avrà tutto anche in Windows SDK

@ risposta di novatrust per quanto riguarda il numero di serie del disco rigido è una buona - ma può essere combinato con altri. Ho fornito il collegamento <=> API per PInvoke sopra, ma una semplice Google dovrebbe funzionare così.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top