Access - Nº de serie del disco duro

 
Vista:
sin imagen de perfil
Val: 266
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Nº de serie del disco duro

Publicado por Pablo (328 intervenciones) el 25/06/2021 20:38:16
Hola a todos:
Quiero saber el número de serie del disco duro, copie un programa de la web y me dice que no reconoce:
ret = GetVolumeSerialNumber(RootPath, VolLabel, VolSize, Serial, MaxLen, Flags, Name, NameSize)
Busqué en la ayura RootPath, VolLabel, etc y no encuentra nada,¿no será un problema de referencias?, tampoco las encuentro. aclaro que trabajo con access 2010
¿Alguien puede echarme una mano?
Gracias
Pablo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Joan
Val: 414
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Nº de serie del disco duro

Publicado por Joan (86 intervenciones) el 27/06/2021 11:15:54
Hola,

Aquí tienes un enlace de cómo hacerlo. Tendrás que modificar el código VBA pàra que te funcione a partir de 2010.

http://www.mvp-access.es/Buho/ejemplos.asp?pag=18

access api serie discos duros hd serial proteger proteccion volumen wmi ejemplos [Identificador Tópico: 1236]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 266
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Nº de serie del disco duro

Publicado por Pablo (328 intervenciones) el 27/06/2021 17:43:07
Hola Joan
Gracias por contestar
Me baje el ejemplo del Buho y de entrada me da un error de compilación: El código debe actualizarse para usarse en un sistema de 64 bits...
Me dice que busque las instrucciones Declare y las marque con PtrSafe, qué tengo que hacer, antes de todas las declare poner ptrsafe?


Pablo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Joan
Val: 414
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Nº de serie del disco duro

Publicado por Joan (86 intervenciones) el 27/06/2021 18:01:30
Has de modificar haciendo una búqueda con Buscar y reemplazar en el código:

- Private Declare Function por: Private Declare Ptrsafe Function.
- Private Declare Sub por: Private Declare Ptrsaf Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Joan
Val: 414
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Nº de serie del disco duro

Publicado por Joan (86 intervenciones) el 27/06/2021 18:02:43
Private Declare Sub por: Private Declare Ptrsafe Sub

Me había dejado una e.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 266
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Nº de serie del disco duro

Publicado por Pablo (328 intervenciones) el 27/06/2021 20:31:56
Acabo de ver tu contestación
Hace tiempo lo había hecho de una forma mucho más resumida. Cuando conseguí cerrar la mdb del buho vi algo parecido a una cosa que encontré en la ayuda:
1
2
3
4
dim fso, drw as object
dim s,t as string
set fso=createobject("ScriptingFileSystenObject")
set drw=fso.getdrive(fso.getdrivename(fso.getabsolutepathname(drvpath)))

obtiene el resultado con: drw.serialnumber
drvpatth es la contstante que pasa cuando llama a la subrutina, probé a poner c, "c", c:,"c:" y no hay forma
Alguna idea?
Gracias

Pablo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Joan
Val: 414
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Nº de serie del disco duro

Publicado por Joan (86 intervenciones) el 28/06/2021 09:28:57
Hola,

En el archivo SerieDiscosDuros.txt que tienes al descomprimir tienes varios ejemplos:

1
2
3
4
5
6
7
8
Dim FileWsh As Object
 
Set FileWsh = CreateObject("Scripting.FileSystemObject")
MsgBox "Número de Serie del Volumen en Hexadecimal: " & Hex$( _
    FileWsh.Drives("C").SerialNumber)
MsgBox "Número de Serie del Volumen en decimal: " & FileWsh.Drives( _
    "C").SerialNumber
Set FileWsh = Nothing
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 266
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Nº de serie del disco duro

Publicado por Pablo (328 intervenciones) el 28/06/2021 20:53:32
Hola
Acabo de leer la contes tación. Si no me equivoco una propiedad del objeto creado es drives, especifico "C" y su propiedad serialnumber
Hoy no puedo hacerlo, mañana lo intentaré
Gracias Joan

Pablo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 266
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Nº de serie del disco duro

Publicado por Pablo (328 intervenciones) el 29/06/2021 19:37:32
Hola
Acabo de probarlo con
1
2
3
Dim fileso As Object
Set fileso = CreateObject("Scripting.FileSystemObject")
MsgBox "Nº de serie decimal=" & fileso.drives("C").serialnumber
Funciona cono quería, gracias
Me extrañó que no cambiara a mayúsculas lo de drives y serialnumber, no debería hacerlo?
Gracias otra vez

Pablo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Joan
Val: 414
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Nº de serie del disco duro

Publicado por Joan (86 intervenciones) el 29/06/2021 20:31:42
De nada, la verdad es que no lo se por qué no te lo cambia, supongo porque será así. Mientras funcione ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar