Hola grupo ,a ver si me podeis decir donde me equivoco, ya que el resultado
obtenido no es el deseado ,o el que desearia obtener ,explico:
quiero obtener el numero de serie de un HD y lo hago asi
LPCTSTR lpRootPathName; //direccion de la unidad
LPTSTR lpVolumeNameBuffer=new char[12]; //bufer donde pondra el nombre de la
unidad
DWORD nVolumeNameSize; // longitut del bufer
DWORD VolumeSerialNumber; // donde pondra el numero de serie
DWORD MaximumComponentLength; // address of system's maximum filename length
DWORD FileSystemFlags; // address of file system flags
LPTSTR lpFileSystemNameBuffer=new char[10]; // address of name of file
system
DWORD nFileSystemNameSize; // length of lpFileSystemNameBuffer
lpRootPathName="C";
GetVolumeInformation(lpRootPathName,lpVolumeNameBuffer,
nVolumeNameSize,&VolumeSerialNumber,&MaximumComponentLength,
&FileSystemFlags,lpFileSystemNameBuffer, nFileSystemNameSize);
CString szTmp;
szTmp.Format(" nom %s serie %x,",lpVolumeNameBuffer,&VolumeSerialNumber);
MessageBox(NULL,szTmp,NULL,MB_OK);
y en el mensage no me da el mismo numero que me da cuando hago un DIR o un
LABEL en modo consola
me podeis ayudar??
Atentamente
Mateu Perelló
Leer las respuestas