Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Resouce einer fremden EXE auslesen (https://www.delphipraxis.net/104227-resouce-einer-fremden-exe-auslesen.html)

BlueStarHH 29. Nov 2007 16:23


Resouce einer fremden EXE auslesen
 
Hallo,

wie kann ich eine String-Rescource aus einer Fremden EXE auslesen. Mit dem folgenden Code bekomme ich es aus der eigene EXE hin, jedoch nicht aus einer fremden EXE. Wie komme ich an das Handle einer fremden EXE?

Delphi-Quellcode:
var
  ResStream: TResourceStream;
begin
  ResStream := TResourceStream.Create(HInstance, //<-- HInstance ist das Handle der eigenen EXE. Ich brauche das der fremden EXE!
    AnsiUpperCase(ResName), RT_STRING);
  try
    SetLength(Result, ResStream.Size);
    ResStream.ReadBuffer(Result[1], ResStream.Size);
  finally
    ResStream.Free
  end;
end;

Apollonius 29. Nov 2007 16:35

Re: Resouce einer fremden EXE auslesen
 
Du kannst die fremde Exe mit LoadLibraryEx(Name, 0, LOAD_LIBRARY_AS_DATAFILE) in deinen Prozessspeicher laden. Zurück kriegst du das gesuchte hModule, das du mit dem Resourcestream verwenden kannst. Wenn du fertig bist, solltest du die Exe mit FreeLibrary wieder entladen.

BlueStarHH 29. Nov 2007 16:48

Re: Resouce einer fremden EXE auslesen
 
Danke! Das funktioniert wunderbar!


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:51 Uhr.

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