Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   XE2 Bios Daten auslesen (https://www.delphipraxis.net/162881-xe2-bios-daten-auslesen.html)

himitsu 13. Dez 2011 09:10

AW: XE2 Bios Daten auslesen
 
Schau was die Funktion für Parametertypen haben will und dann paß' deine Variablen daran an.

s3rh47 13. Dez 2011 09:30

AW: XE2 Bios Daten auslesen
 
function ReadProcessMemory(hProcess: THandle; const lpBaseAddress: Pointer; lpBuffer: Pointer;
nSize: SIZE_T; var lpNumberOfBytesRead: SIZE_T): BOOL; stdcall;

1. Parameter = Thandle
2. Parameter = Pointer
3. Parameter = Pointer
4. Parameter = SIZE_T
5. Parameter = SIZE_T

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

var
 FileName : String;
 StartInfo : TStartUpInfo;
 ProcInfo : TProcessInformation;
 AllGood : Boolean;
 ReadByte : SIZE_T;
 OrjinalBytes : byte;
begin

  OrjinalBytes:=($90);
  FileName := 'Beispiel.exe';
  //Fill the PRocinfo and Startinfo with a buffer
  FillChar(StartInfo,SizeOf(TStartupInfo),#0);
  FillChar(ProcInfo,SizeOf(TProcessInformation),#0);
  //Lets "Try" to create the paltalk process in a suspended state
  AllGood := CreateProcess(Pchar(Dosya),nil,nil,nil,False,CREATE_SUSPENDED,nil,nil,StartInfo,ProcInfo);

  if Allgood then
  begin

  ShowMessage('Geht Schon');

   ReadProcessMemory(PRocInfo.hProcess,Pointer($00146565),@OrjinalBytes,1,1,ReadByte);

  end;

   ResumeThread(ProcInfo.hThread);

   CloseHandle(ProcInfo.hProcess);

end;

Ist wieder gleich :S

Luckie 13. Dez 2011 09:32

AW: XE2 Bios Daten auslesen
 
Da stimmt wohl der Aufruf mit der Deklaration nicht über ein, was die Datentypen angeht. Und was ist hier Zeile 59?

s3rh47 13. Dez 2011 09:40

AW: XE2 Bios Daten auslesen
 
Und Warum bei Delphi7 kein problem ?

Ich habe alle Varible probiert geht nicht ! byte , word,dword, integer , Char , PChar , AnsiChar , WideChar, Pointer ,real, Extended ,string,ShorString trotzdem immer wieder gleiche Fehler...

Kann auch Assemblye !

himitsu 13. Dez 2011 12:37

AW: XE2 Bios Daten auslesen
 
Zitat:

Zitat von s3rh47 (Beitrag 1141091)
Und Warum bei Delphi7 kein problem ?

Ich habe alle Varible probiert geht nicht ! byte , word,dword, integer , Char , PChar , AnsiChar , WideChar, Pointer ,real, Extended ,string,ShorString trotzdem immer wieder gleiche Fehler...

Kann auch Assemblye !

Nicht probieren .... NACHSEHN und dann machen :)
Und da über VAR gemeckert wird, kann es nur lpNumberOfBytesRead sein.

PS: zähle mal deine Parameter

s3rh47 13. Dez 2011 13:04

AW: XE2 Bios Daten auslesen
 
Also wenn ich keine Seh probleme hab , ich sehe dort 5 parameter :-D

http://i40.tinypic.com/dmxnpy.jpg

Wo ist fehler jetzt ? Ich kann nicht mehr sehen :cry:

DeddyH 13. Dez 2011 13:45

AW: XE2 Bios Daten auslesen
 
Was denn nun, Read oder Write? Ich habe mal gezählt:
Zitat:

Delphi-Quellcode:
ReadProcessMemory(PRocInfo.hProcess (* 1 *),
                  Pointer($00146565)(* 2 *),
                  @OrjinalBytes    (* 3 *),
                  1                 (* 4 *),
                  1                 (* 5 *),
                  ReadByte         (* 6 *));

Passt nicht ganz, oder?

himitsu 13. Dez 2011 14:21

AW: XE2 Bios Daten auslesen
 
Wobei hier Delphi sogar hilft.

Schreib mal die öffnende Klammer "(" neu (k.A. aber vielleicht gibt's da auch eine Tastenkombi dafür) und schon sollte die Delphi den aktuellen Parameter nennen ... nun geht man nur noch alle Parameter durch und vergleicht den angebenen "Wert", mit den angezeigten Parameter-Informationen.

s3rh47 13. Dez 2011 14:28

AW: XE2 Bios Daten auslesen
 
Ich brauche beide Write und read .

Sorry die Parameter is 6 yes aber hab auch genau 6 parameter geschrieben


Es tut mir Leid ich kann eure nicht verstanden. Sie können ja einfach direkt fehler sagen , aber sagen sie nicht und dauert länger...

Hab funksion schon hier gescrieben..

1 :=

function ReadProcessMemory(hProcess: THandle; const lpBaseAddress: Pointer; lpBuffer: Pointer;
nSize: SIZE_T; var lpNumberOfBytesRead: SIZE_T): BOOL; stdcall;


2 := Bild gezeigt ! http://i40.tinypic.com/dmxnpy.jpg

hab auch probiert

statt cardinal , dword und @ReadByte gemacht trotzdem gleich

DeddyH 13. Dez 2011 14:39

AW: XE2 Bios Daten auslesen
 
ReadProcessMemory erwartet 5 Parameter, Du übergibst 6.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:47 Uhr.
Seite 3 von 4     123 4      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz