Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-04-2010
Avatar de yapt
yapt yapt is offline
Miembro
 
Registrado: sep 2006
Ubicación: España
Posts: 258
Poder: 18
yapt Va por buen camino
WMI - Obteniendo el numero de serie de la placa base.

Hola,

estoy tratando de leer el Nº de serie de la placa base de cualquier ordenador con WMI (teoricamente, todos desde W2000).

Se que Neftali tiene unos fantasticos componentes, pero, los he descargado y parece que solo están para Delphi2007 (no he probado a instalar y testear en Delphi2010) y, además, es que solo quiero saber el id de la placa.

Esto es lo que tengo (tras importar la libreria de tipos -type library-):

Código Delphi [-]
function GetMotherBoardSerial:string;
var
  WMIServices : ISWbemServices;
  Root        : ISWbemObjectSet;
  Item        : Variant;
begin
  WMIServices := CoSWbemLocator.Create.ConnectServer('.', 'root\cimv2','', '', '', '', 0, nil);
  Root  := WMIServices.ExecQuery('Select SerialNumber From Win32_BaseBoard','WQL', 0, nil);
  Item := Root.Item('Base Board',0);   <<--- aquí el error...
  Result:=VarToStr(Item.SerialNumber);
end;

En la línea que marca el error, ya he probado de todo. El código está recogido de algún sitio (que no consigo encontrar de nuevo).

A ver si a alguien se le ocurre algo.

Saludos y gracias anticipadas.
Responder Con Cita
  #2  
Antiguo 12-04-2010
Avatar de yapt
yapt yapt is offline
Miembro
 
Registrado: sep 2006
Ubicación: España
Posts: 258
Poder: 18
yapt Va por buen camino
Hola.... alguna idea sobre esto ?

Muchas gracias y perdón por la insistencia...
Responder Con Cita
  #3  
Antiguo 12-04-2010
Avatar de yapt
yapt yapt is offline
Miembro
 
Registrado: sep 2006
Ubicación: España
Posts: 258
Poder: 18
yapt Va por buen camino
Bueno, solucionado:

http://stackoverflow.com/questions/2...-number-delphi

Saludos.
Responder Con Cita
  #4  
Antiguo 12-04-2010
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Si yo hubiera visto este mensaje antes, al igual que en este momento te hubiera recomendado echarle un vistazo a los componentes basados en WMI de Neftali... en http://www.clubdelphi.com/foros/showthread.php?t=65935
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #5  
Antiguo 13-04-2010
Avatar de yapt
yapt yapt is offline
Miembro
 
Registrado: sep 2006
Ubicación: España
Posts: 258
Poder: 18
yapt Va por buen camino
Si, lo decia en mi primer mensaje de este hilo. El asunto es que me corria un poco de prisa y al descargar los GlibWMI, vi que solo había paquete para Delphi 2007, con lo que supuse que no estaban listos para Delphi 2010.

Saludos.
Responder Con Cita
  #6  
Antiguo 08-09-2011
ptorres ptorres is offline
Registrado
 
Registrado: mar 2007
Posts: 6
Poder: 0
ptorres Va por buen camino
Clase para sacar la informacion de la Placa Base

Amigos esta es una clase para sacar los datos de la tarjeta madre y el CPU no se si les sirva la acabo de hacer.

espero que les sirva

Código Delphi [-]
unit clSistema;

interface

uses Registry,Windows,SysUtils;
type
  TBIOS = class
    constructor create;
   Public
    Fabricante,ProductoBase,VersionTarjeta,
    Fecha,Vendedor,VersionBios,FamiliaSistema,FabricanteSistema,
    NombreProducto,SKU,VersionSistema:String;
  end;

  TCPU = class
   constructor create(NoCPU : Integer);
   Public
    Identificador,NombreProcesador,Vendedor,ActualizacionMicroCode:String;
  end;
  TSistema = class
   constructor create;
   destructor Destroy;
  Public
   Bios : TBios;
   CPU1  : TCPU;
   CPU2  : TCPU;
   CPU3  : TCPU;
   CPU4  : TCPU;
  end;

implementation
const vBios: string = '\HARDWARE\DESCRIPTION\System\BIOS';
const vCPU: string = '\HARDWARE\DESCRIPTION\System\CentralProcessor';

////////////////////
////////// clase sistema
///////////////////

constructor TSistema.create;
Begin
 Bios:=TBios.create;
 CPU1:=TCPU.create(0);
 CPU2:=TCPU.create(1);
 CPU3:=TCPU.create(2);
 CPU4:=TCPU.create(3);
End;

destructor TSistema.Destroy;
Begin
 Bios.Free;
 CPU1.Free;
 CPU2.Free;
 CPU3.Free;
 CPU4.Free;
End;
////////////////////
////////// clase bios
///////////////////

constructor TBIOS.create;
var Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  try
    Reg.Rootkey:= HKEY_LOCAL_MACHINE;
    Reg.OpenKey(vBios, False);
    Fabricante:=Reg.ReadString('BaseBoardManufacturer');
    ProductoBase:=Reg.ReadString('BaseBoardProduct');
    VersionTarjeta:=Reg.ReadString('BaseBoardVersion');
    Fecha:=Reg.ReadString('BIOSReleaseDate');
    Vendedor:=Reg.ReadString('BIOSVendor');
    VersionBios:=Reg.ReadString('BIOSVersion');
    FamiliaSistema:=Reg.ReadString('SystemFamily');
    FabricanteSistema:=Reg.ReadString('SystemManufacturer');
    NombreProducto:=Reg.ReadString('SystemProductName');
    SKU:=Reg.ReadString('SystemSKU');
    VersionSistema:=Reg.ReadString('SystemVersion');
  finally
    Reg.Free;
  end;
End;
////////////////////
////////// clase CPU
///////////////////

constructor TCPU.create;
var Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  try
    Reg.Rootkey:= HKEY_LOCAL_MACHINE;
    if Reg.OpenKey(vCPU+'\'+IntToStr(NoCPU), False) then
     Begin
      Identificador:=Reg.ReadString('Identifier');
      NombreProcesador:=Reg.ReadString('ProcessorNameString');
      Vendedor:=Reg.ReadString('VendorIdentifier');
      ActualizacionMicroCode:=Reg.ReadString('MicrocodeUpdateStatus');
     End
    else
     Begin
      Identificador:='No Presente';
      NombreProcesador:='No Presente';
      Vendedor:='No Presente';
      ActualizacionMicroCode:='No Presente';
     End;
  finally
    Reg.Free;
  end;
End;

end.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Placa Base Io Varios 3 12-07-2007 20:01:18
Saber el número de ranuras PCI el la placa base serebi Varios 4 07-02-2006 22:17:06
Saber el número de serie de la placa fer21unmsm Varios 3 30-12-2005 19:36:51
Número de Serie HDD en Red ogorut Varios 0 04-12-2003 13:50:40
Fuera de tópico (Placa base) mosorio Varios 3 05-08-2003 14:21:42


La franja horaria es GMT +2. Ahora son las 17:14:16.


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