| |
|
|
Michael Dell | Es geht hier um Resoucen die als Datei vorhanden sind (in der Resource) diese werden dann auf Platte gespeichert und Ausgeführt. KompilierenMarkierenSeparierennach einer Idee von Stephan Dehne
erweitert: von Achim Engelhardt
bearbeitet: von Michael Dell
Befehl: GetResBin("NewFile.Name",%HInstance oder DLLhandle&,Nummer&,Typ&)
oder vor Profan 7.6
GetResBin "NewFile.Name",%HInstance oder DLLhandle&,Nummer&,Typ&
Speichert eine (Win)Resource, führt sie aus und löscht sie dann!
Funktioniert bei EXE/TXT/HLP/CHM/DOC/XLS und anderen mit einer Anwendung verknüpften Datei- Formaten!
def FindRes(3) !"Kernel32.Dll","FindResourceA"
def LoadRes(2) !"Kernel32.Dll","LoadResource"
def SizeofRes(2) !"Kernel32.Dll","SizeofResource"
declare Data#
Proc GetResBin
Parameters TaskName$,hdl&,nr&,typ&
declare Size&,Temp&,Handle1&,Handle2&,DLL&,dll$,EXEC$,PFAD$
Handle1& = FindRes(hdl&,nr&,typ&) Finden der Resource (z.B.:Typ 240)
Handle2& = LoadRes(hdl&,Handle1&) Laden der Resource
Size& = SizeofRes(hdl&,Handle1&) Größe der geladenen Resource ermitteln
dim Data#,Size&
Temp& = Data# Original-Pointer von Data# sichern
Data# = Handle2& Bereichsvariable "verbiegen"
assign #1,TaskName$ Geladenen Resource als Datei exportieren
openrw #1
blockwrite #1,Data#,0,Size&
closerw #1
Data# = Temp& Originalzustand von Data# wiederherstellen
dispose Data#
EXEC$ = TaskName$
ShellExec(EXEC$,"open",3) Starten der Exportierten Datei (wenns ne EXE ist)
assign #1,TaskName$ Exportierte Datei löschen
erase #1
EndProc
Salu... |
|
|
| Salu Michael...
Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! | 20.11.2004 ▲ |
|
|
|
|
| Und beim proggen braucht mans für was?
iF |
|
|
| |
|
|
|
Michael Dell | Wenn man zum Beispiel eine EXE in der Res hat und die Speichern, Ausführn und wieder Löschen will oder mal eben Text/Hilfe/Bilder/Sound u.ä. aus der Res im Verknüpften Programm anzeigen will.
Sone Sachen eben.
Nachtrag: Es geht hier um Resoucen die als Datei vorhanden sind (in der Resource) diese werden dann auf Platte gespeichert und Ausgeführt.
Gruß... |
|
|
| Salu Michael...
Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! | 20.11.2004 ▲ |
|
|
|