AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

XE2 Bios Daten auslesen

Ein Thema von bernhard_LA · begonnen am 8. Sep 2011 · letzter Beitrag vom 14. Dez 2011
Antwort Antwort
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#1

AW: XE2 Bios Daten auslesen

  Alt 8. Sep 2011, 14:06
Und m.E.n muss es dann
ReadProcessMemory( GetCurrentProcess,Ptr( $FE061),@Buffer,8 * SizeOf(Char),N); heißen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: XE2 Bios Daten auslesen

  Alt 8. Sep 2011, 14:08
Und m.E.n muss es dann
ReadProcessMemory( GetCurrentProcess,Ptr( $FE061),@Buffer,8 * SizeOf(Char),N); heißen.
Davon abgesehen, dass
Buffer : Array[0..8] Of Char;
9 Chars sind und nicht 8.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.629 Beiträge
 
Delphi 12 Athens
 
#3

AW: XE2 Bios Daten auslesen

  Alt 8. Sep 2011, 14:11
Und m.E.n muss es dann
ReadProcessMemory( GetCurrentProcess,Ptr( $FE061),@Buffer,8 * SizeOf(Char),N); heißen.
Davon abgesehen, dass
Buffer : Array[0..8] Of Char;
9 Chars sind und nicht 8.
In Buffer[8] steht am Ende ja auch #0!
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: XE2 Bios Daten auslesen

  Alt 8. Sep 2011, 14:15
Naja, nicht wenn er nur 8 Chars liest... Sonst steht in Buffer[8] ein zufälliger Stack-Inhalt.
Quatsch! Jetzt weiß ich was du meinst

PS: Sind die BIOS-Infos wirklich WideStrings? Ich schätze mal man muss da AnsiChars nehmen.
(Es sei denn ich irre mich)
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."

Geändert von Neutral General ( 8. Sep 2011 um 14:17 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.629 Beiträge
 
Delphi 12 Athens
 
#5

AW: XE2 Bios Daten auslesen

  Alt 8. Sep 2011, 14:21
Naja, nicht wenn er nur 8 Chars liest... Sonst steht in Buffer[8] ein zufälliger Stack-Inhalt.
Quatsch! Jetzt weiß ich was du meinst

PS: Sind die BIOS-Infos wirklich WideStrings? Ich schätze mal man muss da AnsiChars nehmen.
(Es sei denn ich irre mich)
Das werden wohl AnsiStrings sein, sonst hätte es in D7 nicht mit array of char funktioniert.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#6

AW: XE2 Bios Daten auslesen

  Alt 8. Sep 2011, 14:27
Ich hätte ja gedacht, dass es dann so gehen müsste:
Delphi-Quellcode:
procedure BiosDaten(var Name, Copyright, Datum, SN: AnsiString);
const
  BUFDATASIZE = 8;
var
  Buffer: Array[0..BUFDATASIZE] Of AnsiChar;
  N: DWORD {bzw. NativeUInt};
begin
  ReadProcessMemory(GetCurrentProcess, Ptr($FE061), @Buffer, BUFDATASIZE, N);
  Buffer[BUFDATASIZE] := #0;
  Name := AnsiString(Buffer);
  //...
end;
Allerdings bekomme ich da auch kein gescheites Ergebnis (XE auf Vista 32).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

AW: XE2 Bios Daten auslesen

  Alt 8. Sep 2011, 14:36
Ja habs eben auch probiert aber nix rausbekommen.

Stimmt die Adresse denn überhaupt?
Hab jetzt im Internet beim groben Googlen nichts gefunden.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: XE2 Bios Daten auslesen

  Alt 15. Sep 2011, 13:03
OK der Ansatz zum Auslesen der BIOS Daten spielt nur bis Win 2K ....

muss diese Funktion wohl entsorgen

Geändert von bernhard_LA (15. Sep 2011 um 13:07 Uhr)
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: XE2 Bios Daten auslesen

  Alt 14. Dez 2011, 17:51
ich denke der erste Code war clean unter WIN 2000 - dann lange nicht verwendet und jetzt unter WIN 7 kam das böse Erwachen ...

Windows /Microssoft hat uns wohl hier erfolgreich ausgebremst
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.629 Beiträge
 
Delphi 12 Athens
 
#10

AW: XE2 Bios Daten auslesen

  Alt 8. Sep 2011, 14:11
Und m.E.n muss es dann
ReadProcessMemory( GetCurrentProcess,Ptr( $FE061),@Buffer,8 * SizeOf(Char),N); heißen.
Das hängt allerdings davon ab, ob die Daten im BIOS als Ansi- oder WideString abgelegt sind. Ich bin davon ausgegangen, daß die Änderung des Arrays auf AnsiChar sowieso schon erfolgt ist.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz