![]() |
XE2 Bios Daten auslesen
Anbei ein Code Fragment zum Auslesen der Biosdaten, unter D7 alles prima, nur Delphi XE2 mault jetzt
a) N : DWORD scheint falsch zu sein b) array of Char nach Array of AnsiChar war nicht hilfreich procedure BiosDaten(var Name, Copyright, Datum, SN : string); var Buffer : Array[0..8] Of Char; N : DWORD; ------->>>> [DCC Fehler] E2033 Die Typen der tatsächlichen und formalen Var-Parameter müssen übereinstimmen begin ReadProcessMemory( GetCurrentProcess,Ptr( $FE061),@Buffer,8,N); Buffer[8]:=#0; ----->>>>> [DCC Fehler]Die Typen der tatsächlichen und formalen Var-Parameter müssen übereinstimmen Name:=StrPas(Buffer); ........ end; |
AW: XE2 Bios Daten auslesen
Jetzt ist die Frage: Welches ReadProcessMemory wird denn da verwendet? Schau Dir mal die Deklaration an.
|
AW: XE2 Bios Daten auslesen
Mach aus dem N ein NativeUInt.
|
AW: XE2 Bios Daten auslesen
Und m.E.n muss es dann
Delphi-Quellcode:
heißen.
ReadProcessMemory( GetCurrentProcess,Ptr( $FE061),@Buffer,8 * SizeOf(Char),N);
|
AW: XE2 Bios Daten auslesen
Zitat:
Delphi-Quellcode:
Buffer : Array[0..8] Of Char;
9 Chars sind und nicht 8. |
AW: XE2 Bios Daten auslesen
Zitat:
|
AW: XE2 Bios Daten auslesen
Zitat:
|
AW: XE2 Bios Daten auslesen
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 :wall: PS: Sind die BIOS-Infos wirklich WideStrings? Ich schätze mal man muss da AnsiChars nehmen. (Es sei denn ich irre mich) |
AW: XE2 Bios Daten auslesen
Zitat:
Delphi-Quellcode:
funktioniert.
array of char
|
AW: XE2 Bios Daten auslesen
Ich hätte ja gedacht, dass es dann so gehen müsste:
Delphi-Quellcode:
Allerdings bekomme ich da auch kein gescheites Ergebnis (XE auf Vista 32).
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; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:45 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