Hola Grupo,
Hace mas de un año que no entraba al grupo y me sorprendio esta nueva
interfaz.
Me alegro ver que muchos de los viejos conocidos todavia frecuentan el grupo
y que ademas hay muchos usuarios nuevos.
Tengo la siguiente inquietud:
La idea s hacer una funcion que encuentre el Serial del disco duro (Numero
unico que identifique el PC en el cual se esta corriendo el programa).
Hice esta consulta hace mucho mas de un año y con la ayuda de Fernando logre
la siguiente funcion:
Public Function SerialDisco() As String
Dim OWMI As Object
Dim Disco As Object
Dim Discos As Object
Set OWMI = GetObject("WINMGMTS:")
Set Discos = OWMI.instancesof("Win32_physicalMedia")
For Each Disco In Discos
SerialDisco = Disco.serialnumber
Exit For
Next Disco
End Function
La verdad no entiendo muy bien el funcionamiento de este codigo, pues la
ayuda de VBA es practicamente nula en este tipo codigo.
No hay ejemplos, instrucciones como OWMI.instancesof("Win32_physicalMedia")
no tienen ninguna explicacion, (por ejemplo que otras cadenas de caracteres
se pueden usar ademas de "Win32_physicalMedia" y que significado tienen, en
fin.
Por eso me limite a usar esta funcion como una receta, sin buscarle sentido.
La funcion trabaja crrectamente, pero en algunos equipos (muy pocos, en
realidad)genera errores.
Por este motivo trate de buscar en la ayuda como obtener el serial del disco
duro del computador y despues de hacer miles de ensayos, obtuve la siguiente
funcion (otra receta que no entiendo muy bien por los mismos motivos de la
anterior):
Public Function SerialDisco() As String
Dim SistemaArchivos As Variant
Dim Unidad As Variant
Set SistemaArchivos = CreateObject("Scripting.FileSystemObject")
Set Unidad =
SistemaArchivos.getdrive(SistemaArchivos.getdrivename(ThisWorkbook.Path))
SerialDiscoDuro = Unidad.serialnumber
End Function
Esta funcion trabaja bien.
Ambas funciones devuelven una cadena diferente para cada computador en que
corren, pero el serial que calcula la primera funcion es diferente del que
calcula la segunda.
Como supongo que cada disco duro tiene un solo serial, me gustaria saber
cual de las dos funciones es la que calcula el No verdadero y que es lo que
calcula la otra funcion.
Saludos,
Henry
Leer las respuestas