Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-06-2006
Emerson Emerson is offline
Registrado
 
Registrado: jun 2006
Posts: 1
Poder: 0
Emerson Va por buen camino
Post Serial del disco duro

Estoy trabajando en delphi y necesito saber si existe alguna posiblidad de verificar el codigo serial del disco duro.. Gracias.... a todos
Responder Con Cita
  #2  
Antiguo 18-06-2006
Avatar de Sotrono
Sotrono Sotrono is offline
Miembro
 
Registrado: abr 2004
Ubicación: Buenos Aires - Argentina
Posts: 396
Poder: 21
Sotrono Va por buen camino
Hola, antes te recomiendo que leas la guia de estilo. Este foro no es el mas adecuado para este hilo.

Chequea esto:

Código Delphi [-]
//Truco 46 de Trucomania
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;

Ejemplo de llamada:

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

Igualmente, si utilizas el buscador vas a encontrar varios hilos en los que ya se respondio esto, en ésta misma página (abajo de todo) hay links a hilos similares.

Saludos y bienvenido a Club Delphi!!
Responder Con Cita
  #3  
Antiguo 18-06-2006
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Poder: 21
Mick Va por buen camino
Solo comentar que esa funcion devuelve el identificador de una particion, no del disco, de modo que si la particion se formatea el numero de serie cambia aunque sea el mismo disco duro. De modo que no sirve para ser utilizado como sistema anticopia.

Saludos
Responder Con Cita
  #4  
Antiguo 18-06-2006
turminator turminator is offline
Miembro
 
Registrado: abr 2006
Ubicación: Barcelona, Spain
Posts: 91
Poder: 19
turminator Va por buen camino
Una pregunta, yo veo todo este codigo y me dan ganas de probar como funciona pero cuanto abro mi Delphi 7, creo un form con un boton y le doy la opcion que al cliquear ocurra:
Código PHP:
ShowMessage(GetVolumeId('c')); 
No me muestra la ID del disco duro. Donde debo meter el codigo restante?

Código Delphi [-]
//Truco 46 de Trucomaniafunction 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;
Responder Con Cita
  #5  
Antiguo 19-06-2006
Avatar de Sotrono
Sotrono Sotrono is offline
Miembro
 
Registrado: abr 2004
Ubicación: Buenos Aires - Argentina
Posts: 396
Poder: 21
Sotrono Va por buen camino
Cita:
Empezado por turminator
No me muestra la ID del disco duro. Donde debo meter el codigo restante?
En la sección Implementation.
Responder Con Cita
  #6  
Antiguo 19-06-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
En la sección de componentes de mi página hay uno llamado TDiskInfo que te permite obtener el número de Serie del disco duro (no el volumen) a parte de mucha otra información.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 19-06-2006
turminator turminator is offline
Miembro
 
Registrado: abr 2006
Ubicación: Barcelona, Spain
Posts: 91
Poder: 19
turminator Va por buen camino
Cita:
Empezado por Sotrono
En la sección Implementation.
Muchas gracias Sotrono. Algo tan básico como esto, no sabia como funcionaba. A partir de ahora puedo ir viendo todos los ejemplos de codigos y probarlos para aprender. Muchas gracias.

PD: La sección de trucos que hay, tambien debo introducir el codigo en la sección IMPLEMENTATION?

Gracias
Responder Con Cita
  #8  
Antiguo 19-06-2006
Avatar de Sotrono
Sotrono Sotrono is offline
Miembro
 
Registrado: abr 2004
Ubicación: Buenos Aires - Argentina
Posts: 396
Poder: 21
Sotrono Va por buen camino
Cita:
Empezado por turminator
La sección de trucos que hay, tambien debo introducir el codigo en la sección IMPLEMENTATION?
La implementación de la función (el código mismo) va en la sección Implementation, pero a veces tambien hay que declararla (solo el encabezado), por ejemplo, en la sección Private o Public de la unidad del Form.
Chequea este hilo.
Responder Con Cita
  #9  
Antiguo 08-07-2006
Avatar de German
German German is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 133
Poder: 22
German Va por buen camino
Cita:
Empezado por Neftali
En la sección de componentes de mi página hay uno llamado TDiskInfo que te permite obtener el número de Serie del disco duro (no el volumen) a parte de mucha otra información.
Un pequeño apunte sobre la demo incluida en el componente: El gráfico muestra al revés el espacio ocupado y libre.

Y otro sobre el componente (pequeño también): Solo comentar que, para obtener la propiedad "SerialNumber", es necesario incluir una librería de la carpeta DEMO en la misma carpeta que el ejecutable que use el componente. Además, se debe añadir "ShareMem" en la cláusula "uses" del form que utilice el componente, o en la "uses" del proyecto, si es que van a utilizarlo varios forms. Si no se incluye, lanza una excepción de lectura de memoria (BDS 2006). Esta información no aparece en la ayuda (o al menos no la he visto).

Salu2.
__________________
Tengo las manos llenas de dedos... Tengo los dedos llenos de teclas...
Tengo las teclas desordenadas... Tengo el desorden muy controlado...
Tengo el control en mis manos.

Última edición por German fecha: 08-07-2006 a las 08:54:23.
Responder Con Cita
  #10  
Antiguo 10-07-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por German
(1) El gráfico muestra al revés el espacio ocupado y libre.
(2) Y otro sobre el componente (pequeño también): Solo comentar que, para obtener la propiedad "SerialNumber", es necesario incluir una librería de la carpeta DEMO en la misma carpeta que el ejecutable que use el componente. Además, se debe añadir "ShareMem" en la cláusula "uses"
Gracias por ambos comentarios; Corregiré la demo y añadiré lo que comentas al fchero de documentación.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #11  
Antiguo 12-07-2006
Avatar de German
German German is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 133
Poder: 22
German Va por buen camino
Un comentario mas...

Al utilizar "ShareMem" también es necesario incluir la librería "borlndmm.dll" en la carpeta del ejecutable, a no ser que el PC tenga instalado Delphi, en cuyo caso no es necesario, ya que esta librería está incluida en la carpeta "Bin", y está registrada en Windows.

¿No seria mas fácil incluir la función que devuelve el número de serie del HD en un dcu...? (tan solo es una reflexión).

Salu2.
__________________
Tengo las manos llenas de dedos... Tengo los dedos llenos de teclas...
Tengo las teclas desordenadas... Tengo el desorden muy controlado...
Tengo el control en mis manos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
obtener el número de serie de un disco duro serial ATA mgc API de Windows 4 27-03-2009 15:54:18
accesos al disco duro YolandaM Windows 2 11-07-2007 14:18:46
Como leer el serial del Disco duro? JuanErasmo C++ Builder 1 30-09-2005 06:34:35
Lectura del serial de un disco duro. mlara Windows 4 22-12-2004 17:11:11
Leer Serial del Disco Duro MaxPc API de Windows 1 18-06-2004 22:30:22


La franja horaria es GMT +2. Ahora son las 10:39:35.


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
Copyright 1996-2007 Club Delphi