![]() |
programm in dll
ich möcht ein prog in einer dll programmieren, sprich alla nonVCL. ich hab mir damit ein paar tutorials durchgelesen, habs aber immer nur mit Handles gefunden. Ich möchts aber ohne handle machen. geht das?
das prog sollte dann durch ein bestimmes ereignis geschlossen werden. starten würd ich das ganze dann mit shellExecute |
Re: programm in dll
Ein Programm in einer DLL? Was soll das werden? Und was hat das mit Handles zu tun?
|
Re: programm in dll
das sollte ein versuch werden
eine Art nonVCL-Prog, nur in einer dll Und ich habs immer nur mit dem Fenster gefunden, nie ohne, sprich dass das Prog im hintergrund läuft und das Fenster über einen Hook geöffnet wird! |
Re: programm in dll
??? Kannst du mal bitte allgemein anerkannte Grammatikregeln des Deutschen benutzen ???
Du willst was?: 1. DLL die ein Fenster erzeugt und anzeigt? 2. DLL die kein Fenster erzeugt? 3. Eine DLL mit oder ohne Hook? DLLs brauchen IMMER eine Hostanwendung welche sie lädt. Lies dir bitte erstmal die Grundlagen an. |
Re: programm in dll
Also, Unterschied Programm DLL.
Ein Programm enthält allein ausführbaren Code. Der Loader läd die Anwendung in den Speicher, ruft CreateProcess auf, um den Prozess zu erzeugen (Adressraum bereitstellen, Kernel-Objekt erzeugen). Dann folgt ein Aufruf von CreateThread, um den primären Thread zu starten, der den eigentlichen Code ausführt. Der Prozess selbst führt keinen Code aus, er dient nur als Container für die Threads, welche den eigentlichen Programm-Code dann ausführen. Eine DLL kann selbst keinen Code ausführen. Eine DLL enthält nur Code der von einem Prozess / Thread ausgeführt werden kann. Dazu wird die DLL in den Adressraum des Prozesses geladen, wo durch der Thread dann Zugriff auf die exportierten Codeteile (Funktionen) der DLL hat. Was man aber mache kann ist: Die DLL laden und einen Thread starten dessen Code in der DLL liegt. Auf alle Fälle brauchst du einen Prozess, der den Adressraum zur Verfügung stellt und einen Thread, der die DLL läd und den Code der DLL ausführt. Hmpf, war einer schneller. :cry: |
Re: programm in dll
ich will ein programm
1. in einer dll 2. ohne/mit fenster (wechsebar) 3. mit hooks 4. das mit rundll32.exe ausgeführt wird |
Re: programm in dll
Und warum darf es keine normale Anwendung sein?
|
Re: programm in dll
ich hab mit einem kollegen gewettet, dass es möglich ist, dass ein programm, das keine exe hat, ausgeführt werden kann (über ein anderes Prog)
das möcht ich dann auch noch ausweiten, weil es irgendwie lustig ist! |
Re: programm in dll
Liste der Anhänge anzeigen (Anzahl: 1)
Hi ihr,
ich hatte das mal andersrum versucht. (DLL in einer EXE) Hab das Projekt derzeit aber nicht zur Hand, deshalb hier nur ein nicht so ideales aber funktionierendes Beispiel. Vielleicht hilft es ja. Theoretisch geht das auch so wie du es brauchst, weis aber nicht mehr wie man die DLL starten muß, so das Windows denkt es währe eine EXE (was es ja im Grunde genommen auch ist). |
Re: programm in dll
ausführen is nicht mein problem, das ging ja so:
Delphi-Quellcode:
und Main ist eine prozedur, die am anfang ausgeführt, sprich das hauptprogramm
ShellExecute(0,'','%windir%\System32\rundll32.exe','Test.dll,Main',nil,0);
hat irgendwie geholfen! thx! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:39 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