![]() |
TResourceStream NUR Win32 API Funktion! (andere Möglichkeit)
Hallo,
ich schreibe derzeit ein kleines Tool für mich, welches nur auf Win32 API funktioniert (ohne Delphi-Klassen), sprich "uses Windows, Messages". Dateigröße beträgt schöne 80 Kb bisher, also funktioniert alles super, außer eine Sache. Ich habe eine Resource Datei in mein Projekt eingebunden (2 mal EXEFILE). Nach Start meines Programmes sollen die EXEFILES gestartet werden. Dementsprechend soll also die Resource Datei extrahiert werden (in ein Temp-Ordner) und die beiden Exe-Dateien ausgeführt werden! Habe dazu nur folgende Anleitung gefunden: ![]() Das Problem: die Klasse: "Controls" müsste eingefügt werden, welches meine Exe auf 500 KB explodieren lässt. Hat jemand nen Link oder einfach nur Stichwörter nach den ich Suchen muss, um auf Win32 API zurück zugreifen, ohne TResourceStream nutzen zu müssen. Vielen Dank! |
Re: TResourceStream NUR Win32 API Funktion! (andere Möglichk
Von Assarbad ist folgende Funktion:
Delphi-Quellcode:
{ following code is copied directly from Assarbad }
function putbinresto(binresname: string; path: string): boolean; var ResSize, HG, HI, SizeWritten, hFileWrite: Cardinal; begin result := false; //find resource HI := FindResource(hInstance, @binresname[1], 'BINRES'); //if legal handle, go on if HI <> 0 then begin //load resource and check the handle HG := LoadResource(hInstance, HI); if HG <> 0 then begin //check resource size (needed to copy a block of data) ResSize := SizeOfResource(hInstance, HI); //create the file hFileWrite := CreateFile(@path[1], GENERIC_READ or GENERIC_WRITE, FILE_SHARE_READ or FILE_SHARE_WRITE, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_ARCHIVE, 0); //if succeeded ... if hFileWrite <> INVALID_HANDLE_VALUE then try //write to it result := (WriteFile(hFileWrite, LockResource(HG)^, ResSize, SizeWritten, nil) and (SizeWritten = ResSize)); finally //close file CloseHandle(hFileWrite); end; end; end; end; |
Re: TResourceStream NUR Win32 API Funktion! (andere Möglichk
|
Re: TResourceStream NUR Win32 API Funktion! (andere Möglichk
Ich danke euch beiden! Hat super gefunzt... Lang lebe Win32 API!
Euer Schorfi.... :dancer: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:08 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