Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=26)
-   -   Informacion sobre la MotherBoard (https://www.clubdelphi.com/foros/showthread.php?t=63895)

yarielrs 07-03-2009 21:33:23

Informacion sobre la MotherBoard
 
Hola todos, por fin me puedo conectar pues tube algunos problemas con mi probedor de ISP. En estos dias estube probando algunos trucos y haciendo algonas cosas en mi tiempo libre y se me a presentado una doda como puedo octener el ID o numero serie de la MotherBoard. Si alguien me puede dar una luz se lo voy a agradecer.

Gracias de antemano por la ayuda que me puedan dar.

cHackAll 07-03-2009 21:44:54

:rolleyes:

krlox31416 08-03-2009 04:05:42

y como es que quieres calar???
 
deseas saber si hay un programa que te muestre eso???...

si es así puedes descargarte el everest!!!...

si tu duda es hacer una aplicación desde delphi???..

parece que vi eso en un hilo... pero no recuerdo...
es cuestion de buscar...

saludos!!!

yarielrs 24-03-2009 01:14:16

Cita:

Empezado por krlox31416 (Mensaje 340573)
deseas saber si hay un programa que te muestre eso???...

si es así puedes descargarte el everest!!!...

si tu duda es hacer una aplicación desde delphi???..

parece que vi eso en un hilo... pero no recuerdo...
es cuestion de buscar...

saludos!!!

Gracias krlox31416 y gracias tambien a [cHackAll] lo que quiero es hacer una aplicacion desde delphi para obtener el ID de la MotherBoard. Estube buscando en el foro y en el enlace que me puso cHackAll pero esto lo que hace es darte la fecha de creacion y la version del bios. Pues que me queda sino seguir buscando......

Gracias de todas formas por su ayuda

cHackAll 26-03-2009 01:20:09

Cita:

Empezado por yarielrs (Mensaje 342459)
...esto lo que hace es darte la fecha de creacion y la version del bios...

:eek::o:rolleyes: a ver...

Código Delphi [-]
function NtOpenSection(var Handle: Cardinal; Access: Cardinal; const Section): Cardinal; stdcall external 'ntdll';
 
procedure TForm1.Button1Click(Sender: TObject);
const Section: array [0..7] of PWideChar = (Ptr(24), nil, @Section[6], Ptr(64), nil, nil, Ptr(3014700), '\Device\PhysicalMemory');
var
 Handle: Cardinal;
 lpBuffer: PChar;
begin
 if NtOpenSection(Handle, 4, Section) = 0 then
  begin
   lpBuffer := MapViewOfFile(Handle, 4, 0, $FC000, $1000);
   if Assigned(lpBuffer) then
    begin
     ShowMessage(TrimRight(PChar(@lpBuffer[$2B7])) + #13 +
                 TrimRight(PChar(@lpBuffer[$2D7])) + #13 +
                 TrimRight(PChar(@lpBuffer[$2F7])) + #13 +
                 TrimRight(PChar(@lpBuffer[$30F])));
     UnmapViewOfFile(lpBuffer);
    end;
   CloseHandle(Handle);
  end;
end; // by cHackAll

Suriu 31-03-2009 18:09:02

Cita:

Empezado por cHackAll (Mensaje 342751)
:eek::o:rolleyes: a ver...

Código Delphi [-]
function NtOpenSection(var Handle: Cardinal; Access: Cardinal; const Section): Cardinal; stdcall external 'ntdll';
 
procedure TForm1.Button1Click(Sender: TObject);
const Section: array [0..7] of PWideChar = (Ptr(24), nil, @Section[6], Ptr(64), nil, nil, Ptr(3014700), '\Device\PhysicalMemory');
var
 Handle: Cardinal;
 lpBuffer: PChar;
begin
 if NtOpenSection(Handle, 4, Section) = 0 then
  begin
   lpBuffer := MapViewOfFile(Handle, 4, 0, $FC000, $1000);
   if Assigned(lpBuffer) then
    begin
     ShowMessage(TrimRight(PChar(@lpBuffer[$2B7])) + #13 +
                 TrimRight(PChar(@lpBuffer[$2D7])) + #13 +
                 TrimRight(PChar(@lpBuffer[$2F7])) + #13 +
                 TrimRight(PChar(@lpBuffer[$30F])));
     UnmapViewOfFile(lpBuffer);
    end;
   CloseHandle(Handle);
  end;
end; // by cHackAll

Hola cHackAll, vi tu ultima respuesta y la acavo de probar pero lo unico que me pone es un mensage con las tres primeras lineas en blanco y esto "fUèa" en la ultima, que puede ser esto. Gracias por la ayuda que me puedas dar....

cHackAll 01-04-2009 01:33:10

Cita:

Empezado por Suriu (Mensaje 343341)
Hola cHackAll, vi tu ultima respuesta y la acavo de probar pero lo unico que me pone es un mensage con las tres primeras lineas en blanco y esto "fUèa" en la ultima, que puede ser esto. Gracias por la ayuda que me puedas dar....

Bueno, lo que hace el anterior código es leer una porción de la antes conocida "memoria convencional" donde el BIOS hacia una copia de algunos valores. Pero al parecer las posiciones donde están almacenados los valores que requerimos varían segun fabricante.

Lo siguiente te sera más util (VBS);

Código:

for each Item in GetObject("winmgmts:").InstancesOf("Win32_BaseBoard")
 wscript.echo "MB: " & Item.Product & vbCrLf & "SN: " & Item.SerialNumber
next

Suerte

Suriu 02-04-2009 17:11:42

Hola cHackAll, ya probé el VBS y me funciona a las mil maravillas es justo lo que necesitaba, gracias por la ayuda....

Suriu 02-04-2009 23:33:23

Hola...
 
:)Hola cHacAll, estuve biendo tu ejemplo del VBS y funciona ok, pero quisiera saber si esto da mas informacion. Porque aunque no se mucho de lenguaje VBS me parase que ese ejemplo se le puede sacar otras informaciones, o por lo menos en que direccion puedo encontrar ese VBS o infornacion hacer de ese tema. Gracias de antemanos por la ayuda.....


Aquí les dejo el Script anterior traducido a delphi:

Código Delphi [-]
uses
  ActiveX, ComObj;

procedure TForm1.Button4Click(Sender: TObject);
var
  ScriptControl, WmiService, Item: OleVariant;
  Items: IUnknown;
  Enum: IEnumVariant;
  Fetched: Cardinal;
begin
  ScriptControl:= CreateOleObject('ScriptControl');
  ScriptControl.Language := 'VBScript';
  WmiService:= ScriptControl.Eval('GetObject("winmgmts:")');
  Items:= WMIService.ExecQuery('Select * from Win32_BaseBoard')._NewEnum;
  Enum:= Items as IEnumVariant;
  Enum.Reset;
  Enum.Next(1, Item, Fetched);
  while Fetched = 1 do
  begin
    if not VarIsNull(Item.SerialNumber) then
      Memo1.Lines.Add(Item.SerialNumber);
    Enum.Next(1, Item, Fetched);
  end;
end;

cHackAll 03-04-2009 02:01:34

Cita:

Empezado por Suriu (Mensaje 343712)
...en que direccion puedo encontrar ese VBS o infornacion hacer de ese tema...

clase WMI; Win32_BaseBoard


La franja horaria es GMT +2. Ahora son las 09:28:28.

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