Visual Basic - Leer la etiqueta y el número de serie de un disco de 64 bits

Life is soft - evento anual de software empresarial
 
Vista:

Leer la etiqueta y el número de serie de un disco de 64 bits

Publicado por MarcoAliHec (1 intervención) el 23/01/2012 01:48:11
Hola

Luego de mas de 10 años regreso a mis foros de consulta de programación. Me retiré hace bastante tiempo pero la necesidad me obliga otra vez a consultar y en lo posible ayudar, aunque ya estoy muy oxidado.

Estoy haciendo un programa en Excel 2007 que corre en Windows 7 el cual quiero que en ciertas máquinas de usuarios funcione, es decir, si algún usuario trata de usarlo desde una máquina no autorizada el programa no debe ejecutarse. Usaba el API GetVolumeInformation sin embargo funciona solo para 32 bits.

Alguien sabe ahora que API debo usar, o en su defecto utilizar otra función. se los agradeceré.
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
sin imagen de perfil
Val: 2
Ha aumentado su posición en 10 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Leer la etiqueta y el número de serie de un disco de 64 bits

Publicado por Gabriel Fernandez (19 intervenciones) el 24/01/2012 14:18:29
Investigando un poco no encontre API similar a GetVolumeInformation para 64 bit,

Ahora tengo varias dudas.
Vos queres que corra solo en 32 bit o mixto, en algunas 32 y en otras 64

En caso de ser SOLO en las de 32, se puede encontrar una diferencia entre las PC 32 y 64.

La carpeta sysWOW64 (equivalente a system32 de sistemas 32 bit) aunque las de 64 tambien tienen system32, las de 32 no tienen sysWOW64. Si este fuera el caso es solo buscar el directorio sysWOW64 si existe o no y de ahi detectas si es 32 o 64.

En el caso de que sea Mixto
bueno lo anterior te va a servir para saber si ejecutar la api o no (aunque creo que en 64 directamente la api aunque no la ejecutes te puede dar un error por simplemente estar digitada)
Otra cosa que puedes hacer es un filtado por el nombre de la maquina
Set WshNtwk = WScript.CreateObject("WScript.Network")
msgbox WshNtwk.ComputerName
El codigo es de VBscripts pero es convertirlo a VB6 o Net que no se cual usas.

Si podes explicame mas como queres que funciones el bloqueo a ver si te puedo guirar un poco mejor

Saludos
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