![]() |
exportierte Prozedur aus EXE mit rundll aufrufen
Ich habe eine ganz normale Win32 Anwendung (.EXE): Aus dieser heraus exportiere ich eine kleine Testprozedur:
Delphi-Quellcode:
Diese Prozedur möchte ich jetzt gerne direkt starten, ohne dass die Anwendung etwas anderes macht, als diese Funktion auszuführen. Darum dachte ich mir, ich behandle die Anwendung wie eine DLL - also als Modul - und starte die Prozedur so:
procedure Hallo();
begin ShowMessage('Hallo Welt'); end; exports Hallo;
Code:
Wenn die Prozedur nichts macht, gibt es auch keine Fehler, rundll32 läuft reibungslos ab.
rundll32 test.exe Hallo
Wenn ich die Prozedur aber mit diesem ShowMessage oder mit einer Funktion, die eine Datei erstellt bestücke, erhalte ich eine Exception von der rundll32 und zwar steht da nicht, wie sonst, wenn mein Code eine Exception verursacht hat: In dem Modul ist eine Ausnahme aufgetreten (o.ä.) sondern: Zitat:
Danke im voraus :-) |
Re: exportierte Prozedur aus EXE mit rundll aufrufen
Hi,
Ich glaube Du musst die Prozedur als "stdcall" deklarieren. Die Delphi register-Aufrufkonvention dürfte RunDLL nicht bekannt sein... Edit: Ach, Du hast eine EXE-Datei? Da frage ich mich, ob das (mit RunDll) überhaupt geht. :gruebel: mfG mirage228 |
Re: exportierte Prozedur aus EXE mit rundll aufrufen
Also mit stdcall tut sich da noch nichts :-/ Selbe Exception.
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:13 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