Question

Je sais que je peux saisir l'identifiant de la CPU et le numéro de série du volume d'un disque physique en interrogeant WMI, mais WMI prend généralement son temps. Quelles autres options plus rapides, le cas échéant, sont disponibles pour récupérer ces informations? Existe-t-il des API Win32 qui permettraient cela?

Modifier: Permettez-moi de préciser. Par identifiant de CPU, je fais référence à la même valeur que celle obtenue en interrogeant les propriétés d'instance WMI suivantes:

  • Win32_Processor :: ProcessorId
  • Win32_LogicalDisk :: VolumeSerialNumber
Était-ce utile?

La solution

N'oubliez pas que l'identifiant de la CPU n'est pas toujours disponible.

Au fait, qu'essayez-vous d'accomplir? Si vous souhaitez générer une clé unique pour une instance d’ordinateur, cochez la Génération de clé unique (Finger). Imprimé) pour un ordinateur sous licence publié par Sowkot Osman chez Codeproject; il peut vous donner des indices (lisez également les commentaires).

Autres conseils

Vous pouvez interroger le registre Windows pour obtenir les informations sur le lecteur, mais vous n’êtes pas sûr du processeur. Il semble que votre question soit abordée dans ce SO q / a (illustre un certain nombre de méthodes permettant d’obtenir cette information, mais pour des raisons de rapidité, peut-être que l’obtenir à partir du registre est votre meilleur choix):

Comment répertorier les disques physiques?

WMI extrait en réalité une bonne partie de ses données du registre. Le système stocke de nombreuses informations sur le système et il est évidemment très rapide de réagir.

Si vous souhaitez verrouiller la carte mère, le processeur et / ou le disque dur pour des raisons de licence, vérifiez les valeurs suivantes:
HKLM \ HARDWARE \ DESCRIPTION \ System \ BIOS \ BaseBoardManufacturer
HKLM \ HARDWARE \ DESCRIPTION \ System \ BIOS \ BaseBoardProduct
HKLM \ HARDWARE \ DESCRIPTION \ System \ CentralProcessor \ 0 \ Identifier
HKLM \ HARDWARE \ DESCRIPTION \ System \ CentralProcessor \ 0 \ ProcessorNameString

HKLM \ LOGICIEL \ Microsoft \ Windows NT \ CurrentVersion \ DigitalProductId
HKLM \ LOGICIEL \ Microsoft \ Windows NT \ CurrentVersion \ ProductId
HKLM \ LOGICIEL \ Microsoft \ Windows NT \ CurrentVersion \ BuildLabEx
HKLM \ HARDWARE \ DESCRIPTION \ System \ MultifunctionAdapter \ 0 \ DiskController \ 0 \ DiskPeripheral \ 0
(peut être spécifique aux cartes avec RAID en cours d'utilisation)

Si vous souhaitez obtenir le disque en série sans WMI, émettez un appel DeviceIoControl au périphérique de lecteur physique. Exemple de code dans VB.NET: http://www.dreamincode.net/code/snippet429.htm

Pour CPUID, essayez ceci: http: // devpinoy .org / blogs / cvega / archive / 2006/04/07 / 2658.aspx

Pour le numéro de série en volume, essayez ceci: http://www.eggheadcafe.com/articles /20021019.asp

Google est votre ami; -)

J'aime GetSystemInfo , mais cela ne se produit pas. ne couvrez pas les disques physiques ..

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top