hola gente, pues eso ni mas ni menos si alquien sabe como se hace o encontro algun control para la aplicacion que lo comente.
gracias
lucho
| |||
Leer el nº de serie del HD con VB hola gente, pues eso ni mas ni menos si alquien sabe como se hace o encontro algun control para la aplicacion que lo comente. gracias lucho |
| |||
'Este es un ejemplo de un form con un cuadro de Texto en el que se introduce la Unidad por ej. C:\ 'Label3(0) muestra la Etiqueta del volumen 'Label3(1) muestra el num. de serie del volumen 'Label3(2) muestra el tipo de sistema de archivos Hay dos botones Command1 (Mostrar) y Command2 (Salir) Option Explicit 'Declaración de la función, sólo está en la API de 32 bits ' Private Declare Function GetVolumeInformation Lib "Kernel32" _ Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, _ ByVal lpVolumeNameBuffer As String, _ ByVal nVolumeNameSize As Long, _ lpVolumeSerialNumber As Long, _ lpMaximumComponentLength As Long, _ lpFileSystemFlags As Long, _ ByVal lpFileSystemNameBuffer As String, _ ByVal nFileSystemNameSize As Long) As Long Private Sub Command1_Click() 'Acción Dim lVSN As Long, n As Long, s1 As String, s2 As String Dim unidad As String Dim sTmp As String On Local Error Resume Next 'Se debe especificar el directorio raiz unidad = Trim$(Text1) 'Reservar espacio para las cadenas que se pasarán al API s1 = String$(255, Chr$(0)) s2 = String$(255, Chr$(0)) n = GetVolumeInformation(unidad, s1, Len(s1), lVSN, 0, 0, s2, Len(s2)) 's1 será la etiqueta del volumen 'lVSN tendrá el valor del Volume Serial Number (número de serie del volumen) 's2 el tipo de archivos: FAT, etc. 'Convertirlo a hexadecimal para mostrarlo como en el Dir. sTmp = Hex$(lVSN) Label3(0) = s1 Label3(1) = Left$(sTmp, 4) & "-" & Right$(sTmp, 4) Label3(2) = s2 End Sub Private Sub Command2_Click() Unload Me End End Sub Private Sub Form_Unload(Cancel As Integer) 'Asegurarnos de "liberar" la memoria. Set Form1 = Nothing End Sub |