Ver Mensaje Individual
  #3  
Antiguo 11-12-2003
ogorut ogorut is offline
Miembro
 
Registrado: may 2003
Posts: 21
Reputación: 0
ogorut Va por buen camino
Para hacer una prueba creo la siguiente funcion:

function TForm1.GetVolumeSerialNumber(const drive: TFilename): DWord;
var
VolumeName, FileSystemName: array[0..MAX_PATH-1] of char;
VolumeSerialNumber, MaxFilenameLength, FileSystemFlags: DWord;
begin
GetVolumeInformation(PChar(drive),
VolumeName, MAX_PATH, @VolumeSerialNumber, MaxFilenameLength,
FileSystemFlags, FileSystemName, MAX_PATH);
Result := VolumeSerialNumber;
end;

En la documentación que he encontrado dice que funciona en plataforma win9x pero yo no lo consigo. Esta misma función en plataforma NT si funciona. Me refiero a obtener el número de serie de un disco duro de un equipo en red.

GetVolumeSerialNumber('c:\') si funciona pero no funciona si mapeo una unidad de red. En la documentación dice que hay que poner lo siguiente:

GetVolumeSerialNumber('\\servidor\carpeta\') o
GetVolumeSerialNumber('W') donde W es la unidad de red mapeada. Pero...a mi desde luego no me funciona, siempre me devuelve un 0(cero).

A ver si con esta explicación alguien me puede ayudar.
Responder Con Cita