Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-02-2020
trex2000 trex2000 is offline
Miembro
 
Registrado: may 2003
Posts: 240
Poder: 21
trex2000 Va por buen camino
Detectar unidades de disco duro

Saludos a todos.

Necesito de su ayuda para poder realizar una pequeña aplicación que detecte los diferentes discos duros que tenga una computadora o servidor, ya sea un solo disco duro o dos o tres o hasta cuatro en el caso de los servidores y que de arroje los datos básicos, como capacidad de cada disco duro, numero de serie, espacio utilizado y espacio libre, fabricante, tipo de partición, etc.

Alguien me podria decir como poder realizar dicha actividad.

Espero haberme explicado bien.

De antemano muchas gracias.
Responder Con Cita
  #2  
Antiguo 21-02-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
A ver si te sirve esto del compañero Neftali.
Responder Con Cita
  #3  
Antiguo 21-02-2020
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
Si no deseas instalar componentes (que en este caso te facilitarán el trabajo) puedes usar directamente cósigo para acceder a WMI.

Creo que el ejemplo que hay en esta entrada es justo lo que necesitas.
https://neftali.clubdelphi.com/wmi-introduccion/

Ahí puedes obtener todos los datos que necesitas a través de WMI de la clase para discos duros Win32_DISKDRIVE;

Eso sí, debes modificarlo porque ahí sólo consulta el primero. Debes añadir un WHILE/FOR para que recorra todos los existentes.

Si usas los componentes eso ya lo tienes solucionado y el resultado ya lo puedes obtener como un objeto de una clase.



Código Delphi [-]
 //: Clase para definir las propiedades del componente.
  TDiskDriveProperties = class(TPersistent)
  private
    ...
  private
    function GetCapabilities(index: integer): Integer;
    function GetCapabilityDescriptions(index: integer): string;
    function GetPowerManagementCapabilities(index: integer): Integer;
    // Obtener la propiedad  como string
    function GetAvailabilityAsString():string;
    // Obtener la propiedad  como string
  public
    property Capabilities[index:integer]:Integer read GetCapabilities;
    property CapabilitiesCount:integer read FCapabilitiesCount stored False;
    property CapabilityDescriptions[index:integer]:string read GetCapabilityDescriptions;
    property CapabilityDescriptionsCount:integer read FCapabilityDescriptionsCount stored False;
    property PowerManagementCapabilities[index:integer]:Integer read GetPowerManagementCapabilities;
    property PowerManagementCapabilitiesCount:integer read FPowerManagementCapabilitiesCount stored False;
  published
    property Availability:Integer read FAvailability write FAvailability stored False;
    property AvailabilityAsString:string read GetAvailabilityAsString write FAvailabilityAsString stored False;
    property BytesPerSector:Longword read FBytesPerSector write FBytesPerSector stored False;
    property CapabilitiesAsString:string read FCapabilitiesAsString write FCapabilitiesAsString stored False;
    property CapabilityDescriptionsAsString:string read FCapabilityDescriptionsAsString write FCapabilityDescriptionsAsString stored False;
    property Caption:string read FCaption write FCaption stored False;
    property CompressionMethod:string read FCompressionMethod write FCompressionMethod stored False;
    property ConfigManagerErrorCode:Longword read FConfigManagerErrorCode write FConfigManagerErrorCode stored False;
    property ConfigManagerUserConfig:boolean read FConfigManagerUserConfig write FConfigManagerUserConfig stored False;
    property CreationClassName:string read FCreationClassName write FCreationClassName stored False;
    property DefaultBlockSize:Int64 read FDefaultBlockSize write FDefaultBlockSize stored False;
    property Description:string read FDescription write FDescription stored False;
    property DeviceID:string read FDeviceID write FDeviceID stored False;
    property ErrorCleared:boolean read FErrorCleared write FErrorCleared stored False;
    property ErrorDescription:string read FErrorDescription write FErrorDescription stored False;
    property ErrorMethodology:string read FErrorMethodology write FErrorMethodology stored False;
    property FirmwareRevision:string read FFirmwareRevision write FFirmwareRevision stored False;
    property Index:Longword read FIndex write FIndex stored False;
    property InstallDate:TDateTime read FInstallDate write FInstallDate stored False;
    property InterfaceType:string read FInterfaceType write FInterfaceType stored False;
    property LastErrorCode:Longword read FLastErrorCode write FLastErrorCode stored False;
    property Manufacturer:string read FManufacturer write FManufacturer stored False;
    property MaxBlockSize:Int64 read FMaxBlockSize write FMaxBlockSize stored False;
    property MaxMediaSize:Int64 read FMaxMediaSize write FMaxMediaSize stored False;
    property MediaLoaded:boolean read FMediaLoaded write FMediaLoaded stored False;
    property MediaType:string read FMediaType write FMediaType stored False;
    property MinBlockSize:Int64 read FMinBlockSize write FMinBlockSize stored False;
    property Model:string read FModel write FModel stored False;
    property Name:string read FName write FName stored False;
    property NeedsCleaning:boolean read FNeedsCleaning write FNeedsCleaning stored False;
    property NumberOfMediaSupported:Longword read FNumberOfMediaSupported write FNumberOfMediaSupported stored False;
    property Partitions:Longword read FPartitions write FPartitions stored False;
    property PNPDeviceID:string read FPNPDeviceID write FPNPDeviceID stored False;
    property PowerManagementCapabilitiesAsString:string read FPowerManagementCapabilitiesAsString write FPowerManagementCapabilitiesAsString stored False;
    property PowerManagementSupported:boolean read FPowerManagementSupported write FPowerManagementSupported stored False;
    property SCSIBus:Longword read FSCSIBus write FSCSIBus stored False;
    property SCSILogicalUnit:Integer read FSCSILogicalUnit write FSCSILogicalUnit stored False;
    property SCSIPort:Integer read FSCSIPort write FSCSIPort stored False;
    property SCSITargetId:Integer read FSCSITargetId write FSCSITargetId stored False;
    property SectorsPerTrack:Longword read FSectorsPerTrack write FSectorsPerTrack stored False;
    property SerialNumber:string read FSerialNumber write FSerialNumber stored False;
    property Signature:Longword read FSignature write FSignature stored False;
    property Size:Int64 read FSize write FSize stored False;
    property Status:string read FStatus write FStatus stored False;
    property StatusInfo:Integer read FStatusInfo write FStatusInfo stored False;
    property SystemCreationClassName:string read FSystemCreationClassName write FSystemCreationClassName stored False;
    property SystemName:string read FSystemName write FSystemName stored False;
    property TotalCylinders:Int64 read FTotalCylinders write FTotalCylinders stored False;
    property TotalHeads:Longword read FTotalHeads write FTotalHeads stored False;
    property TotalSectors:Int64 read FTotalSectors write FTotalSectors stored False;
    property TotalTracks:Int64 read FTotalTracks write FTotalTracks stored False;
    property TracksPerCylinder:Longword read FTracksPerCylinder write FTracksPerCylinder stored False;
  end;
__________________
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
  #4  
Antiguo 22-02-2020
trex2000 trex2000 is offline
Miembro
 
Registrado: may 2003
Posts: 240
Poder: 21
trex2000 Va por buen camino
Voy a probar las soluciones que me recomiendan.

Muchas gracias.
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
Disco duro 3.5 en enclosure 2.5 kurono Varios 4 11-09-2013 23:53:54
Disco Duro Externo Fenareth Varios 8 25-07-2008 16:45:30
accesos al disco duro YolandaM Windows 2 11-07-2007 14:18:46
Imagen de disco duro de sistema a un disco externo usb Wonni Windows 20 05-06-2007 13:11:55
Serial del disco duro Emerson API de Windows 10 12-07-2006 07:44:30


La franja horaria es GMT +2. Ahora son las 00:23:46.


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