Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Cambiar el numero del serial de un Disco (https://www.clubdelphi.com/foros/showthread.php?t=89757)

deliriun 01-02-2016 04:39:09

Cambiar el numero del serial de un Disco
 
Hola buen día a todos,

Estaba viendo un código muy interesante ::

Código Delphi [-]
function GetVolumeID(DriveChar: Char): String;
var
   MaxFileNameLength, VolFlags, SerNum: DWord;
begin
   if GetVolumeInformation(PChar(DriveChar + ':\'), nil, 0,
      @SerNum, MaxFileNameLength, VolFlags, nil, 0)
   then
   begin
     Result := IntToHex(SerNum,8);
     Insert('-', Result, 5);
   end
   else
       Result := '';
end;

Código Delphi [-]
ShowMessage(GetVolumeId('c'));

Pues y mi duda era si es posible modificar el Serial del Disco, quisiera saber si alguien tiene alguna idea
de Cómo hacerlo, o si ya lo han hecho..

Casimiro Notevi 01-02-2016 09:47:31

Se supone que es número grabado en su firmware. En principio no se puede, ni se debe, modificar.

AgustinOrtu 01-02-2016 14:33:29

Se puede, hay programas por alli que lo hacen

Tambien, al formatear un disco, se asigna un nuevo numero de serie para dicho volumen

Casimiro Notevi 01-02-2016 16:23:38

Cita:

Empezado por AgustinOrtu (Mensaje 501751)
Se puede, hay programas por alli que lo hacen
Tambien, al formatear un disco, se asigna un nuevo numero de serie para dicho volumen

Eso no es el número de serie del disco.

Neftali [Germán.Estévez] 01-02-2016 16:34:08

Realmente ese que estás mostrando con el código delphi, no es el númerio de serie, sino el ID del volumen.

Puedes obtenerlo si ejecutas un LABEL desde una ventana de comandos, obtendrás ese valor:


Y para cambiarlo basta con formatear el disco.

Si deseas obtener el serial real del disco (al que se refiere Casimiro), puedes utilizar WMI. En inconveniente es que en sistemas XP no se devuelve ese valor. De la versión 7 en adelante puedes obtenerlo sin problemas.
Dentro de la librería GlibWMI, puedes encontrar el componente TDiskDriveInfo, con el que podrás obtenerlo sin necesidad de código.



Si no deseas instalar componentes de terceros, puedes visitar la web de Rodrigo Ruz, donde puedes encontrar una utilidad que te ayuda a generar código para obtener toda clase de valores procedentes de WMI.

En general puedes obtener más info, si sigues la pista de la clase win32_diskDrive, que es la que te provee de este valor.


La franja horaria es GMT +2. Ahora son las 04:29:03.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi