AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

programm in dll

Ein Thema von Illuminator-23-5 · begonnen am 1. Nov 2003 · letzter Beitrag vom 2. Nov 2003
Antwort Antwort
Seite 1 von 3  1 23      
Illuminator-23-5
(Gast)

n/a Beiträge
 
#1

programm in dll

  Alt 1. Nov 2003, 15:30
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
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: programm in dll

  Alt 1. Nov 2003, 15:50
Ein Programm in einer DLL? Was soll das werden? Und was hat das mit Handles zu tun?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Illuminator-23-5
(Gast)

n/a Beiträge
 
#3

Re: programm in dll

  Alt 1. Nov 2003, 16:10
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!
  Mit Zitat antworten Zitat
Assarbad
(Gast)

n/a Beiträge
 
#4

Re: programm in dll

  Alt 1. Nov 2003, 16:17
??? 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.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: programm in dll

  Alt 1. Nov 2003, 16:20
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Illuminator-23-5
(Gast)

n/a Beiträge
 
#6

Re: programm in dll

  Alt 1. Nov 2003, 16:25
ich will ein programm
1. in einer dll
2. ohne/mit fenster (wechsebar)
3. mit hooks
4. das mit rundll32.exe ausgeführt wird
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: programm in dll

  Alt 1. Nov 2003, 16:28
Und warum darf es keine normale Anwendung sein?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Illuminator-23-5
(Gast)

n/a Beiträge
 
#8

Re: programm in dll

  Alt 1. Nov 2003, 16:39
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!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.157 Beiträge
 
Delphi 12 Athens
 
#9

Re: programm in dll

  Alt 1. Nov 2003, 17:28
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).
Angehängte Dateien
Dateityp: exe dll-in-exe.exe (274,8 KB, 14x aufgerufen)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Illuminator-23-5
(Gast)

n/a Beiträge
 
#10

Re: programm in dll

  Alt 1. Nov 2003, 17:41
ausführen is nicht mein problem, das ging ja so:
ShellExecute(0,'','%windir%\System32\rundll32.exe','Test.dll,Main',nil,0); und Main ist eine prozedur, die am anfang ausgeführt, sprich das hauptprogramm
hat irgendwie geholfen! thx!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:44 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