AGB  ·  Datenschutz  ·  Impressum  







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

Form von dll aus schließen.

Ein Thema von k4ni · begonnen am 5. Jan 2009 · letzter Beitrag vom 5. Jan 2009
Antwort Antwort
k4ni

Registriert seit: 17. Jul 2007
Ort: Ulm
258 Beiträge
 
Delphi 7 Enterprise
 
#1

Form von dll aus schließen.

  Alt 5. Jan 2009, 12:18
Hallo,

Ich habe eine dll geschrieben, die man in den prozess injected, und sobald man dies tut dejected diese eine andere dll + sich selber.
Das andere module das sie dejected, ist in diesem falle "cepe.dll", das problem ist nur, dass dieses module auch eine Form erstellt.

Jetzt meine frage: Wie könnte ich diese Form von meiner DLL schließen?
Also ich wills jetzt nicht direkt per FindWindow() suchen denn es kann ja sein das ich diese form öfter offen hab und es mir dann an die falsche geht.
Was ich schon versucht hab:
Delphi-Quellcode:
    lolwat := FindWindowEx(Application.Handle, 0, nil, 'Crappy Packet Editor Doh!');
    if lolwat<> 0 then
      PostMessage(lolwat, WM_QUIT, 0, 0);
Geht aber nicht wirklich =/
Irgend ne idee?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Form von dll aus schließen.

  Alt 5. Jan 2009, 12:20
Füge die Funktion ins Interface der Dll ein. Und rufe diese dann auf
Markus Kinzler
  Mit Zitat antworten Zitat
k4ni

Registriert seit: 17. Jul 2007
Ort: Ulm
258 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Form von dll aus schließen.

  Alt 5. Jan 2009, 12:41
Ah ok, also ich hab das jetzt mal so versucht:

Bei cepe.dll (die, die ich dejecten will):
Delphi-Quellcode:
interface
...
procedure CloseMyForm(); stdcall;

...

implementation

procedure CloseMyForm; stdcall;
begin
ShowMessage('workd');
end;
Und natürlich
exports CloseMyForm; Dann die unloader.dll, mit der ich die form von cepe.dll schließen will bzw. die CloseMyForm aufrufen will:
Delphi-Quellcode:
interface
...
type CloseMyForm=procedure; stdcall;

...

 var
   TCF: CloseMyForm;

...

function DllMain(..)
begin
   TCF;
end;
..
Ich denke jetzt mal du hast das so (ähnlich) gemeint, aber geht iwie net :S

Edit:
Oder so ungefähr?
Delphi-Quellcode:
    Hcepe := GetModuleHandle('cepe.dll');
    TCF := GetProcAddress(Hcepe, 'CLoseMyForm');
    TCF;
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:37 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