Pregunta

Soy consciente de que puedo agarrar el identificador de la CPU y el número de serie del volumen para una unidad física consultando WMI, pero WMI normalmente toma su tiempo dulce. ¿Qué otras opciones más rápidas, si las hay, están disponibles para recuperar esta información? ¿Hay API de Win32 que lograrían esto?

Editar: Permítame aclarar. Por identificador de CPU, me refiero al mismo valor que se obtiene al consultar las siguientes propiedades de instancia de WMI:

  • Win32_Processor :: ProcessorId
  • Win32_LogicalDisk :: VolumeSerialNumber
¿Fue útil?

Solución

Solo tenga en cuenta que el ID de la CPU no siempre está disponible.

Por cierto, ¿qué estás tratando de lograr? Si desea generar una clave única para una instancia de computadora, consulte la Generación de clave única (Finger Imprimir) para una computadora con fines de licencia publicada por Sowkot Osman en Codeproject; Puede darle algunos consejos (también lea los comentarios).

Otros consejos

Puede consultar el registro de Windows para obtener información sobre la unidad, aunque no está seguro de la CPU. Parece que su pregunta se aborda en este SO q / a (muestra una serie de métodos para obtener esta información, pero por velocidad, tal vez obtenerla del registro sea su mejor opción):

¿Cómo listar los discos físicos?

En realidad, WMI toma una buena parte de sus datos del registro. El sistema almacena mucha información sobre el sistema, y ??obviamente es muy rápido para responder.

Si desea bloquear la placa base, la CPU y / o el disco duro por motivos de licencia, consulte los siguientes valores:
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 \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ DigitalProductId
HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ ProductId
HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ BuildLabEx
HKLM \ HARDWARE \ DESCRIPTION \ System \ MultifunctionAdapter \ 0 \ DiskController \ 0 \ DiskPeripheral \ 0
(puede ser específico de placas con RAID en uso)

Si desea obtener el disco serie sin WMI, emita una llamada DeviceIoControl al dispositivo de unidad física. Código de ejemplo en VB.NET: http://www.dreamincode.net/code/snippet429.htm

Para CPUID, intente esto: http: // devpinoy .org / blogs / cvega / archive / 2006/04/07 / 2658.aspx

Para el número de serie del volumen, intente esto: http://www.eggheadcafe.com/articles /20021019.asp

Google es tu amigo ;-)

Me gusta GetSystemInfo pero eso no no cubra unidades físicas ..

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top