Ver Mensaje Individual
  #8 (permalink)  
Antiguo 07/09/2002, 22:52
hchris
 
Fecha de Ingreso: abril-2002
Mensajes: 20
Antigüedad: 23 años
Puntos: 0
Re: Visual Basic: Como leer el serial del disco duro.


#define WIN32_LEAN_AND_MEAN

#include <windows.h>
#include <stdio.h>

BOOL GetVolumeSerialNumber (LPCSTR pszRootPathName, DWORD *pdwSerialNum);

void main (int argc, char **argv)
{
BOOL fResult;
char *pszDriveName;

// volume information we want to collect
char szVolName[MAX_PATH];
char szFileSysName[80];
DWORD dwSerialNumber;
DWORD dwMaxComponentLen;
DWORD dwFileSysFlags;


// Validate command-line arguments.
if (argc != 2)
{
printf("usage: %s drive\n\tdrive = C:\\, \\\\svr\\share\\\n",
argv[0]);
printf("\tnote: the trailing backslash is needed\n");
return;
}

pszDriveName = argv[1];

fResult = GetVolumeInformation(pszDriveName, szVolName, MAX_PATH,
&dwSerialNumber, &dwMaxComponentLen,
&dwFileSysFlags, szFileSysName, 80);
if (fResult)
{
// If the serial number wasn't returned, try to get it a
// different way.
if (dwSerialNumber == 0)
GetVolumeSerialNumber (pszDriveName, &dwSerialNumber);

printf("volume name = %s\n", szVolName);
printf("serial number = %#lx\n", dwSerialNumber);
}
else
printf("could not get info for %s, error = %lu\n",
pszDriveName, GetLastError());
}


/*