AGB  ·  Datenschutz  ·  Impressum  







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

Dialog aus Fremder DLL aufrufen

Ein Thema von The-X · begonnen am 11. Nov 2004 · letzter Beitrag vom 17. Nov 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von The-X
The-X

Registriert seit: 31. Aug 2003
Ort: Woffelsbach / user.exe ;)
377 Beiträge
 
Delphi 7 Personal
 
#1

Dialog aus Fremder DLL aufrufen

  Alt 11. Nov 2004, 16:08
hi folks

ich wollte aus der msgina.dll einen Dialog darstellen, der dort in den Resources vorhanden ist
nur leider funktioniert das vorne und hinten nicht

Delphi-Quellcode:
program ginadlg;

uses
  Windows, CommCtrl, CommDlg, Messages;

const
  DLG=2210;
  DLL='msgina.dll';
var
  hMSGINA:Cardinal;
  hApp: Cardinal;
  msg: TMsg;

function dlgfunc(hwnd: hwnd; umsg: dword; wparam: wparam; lparam: lparam): bool; stdcall;
begin
result:=true;
  case umsg of
    WM_INITDIALOG: begin
      hApp := hwnd;
    end;
    WM_CLOSE: begin
      EndDialog(hWnd, 0);
      DestroyWindow(hwnd);
      PostQuitMessage(0);
      FreeLibrary(hMSGINA);
    end;
    else result:=false;
  end;
end;

begin
 InitCommonControls;
  hMSGINA:=LoadLibraryEx(DLL, 0, LOAD_LIBRARY_AS_DATAFILE);
  If hMSGINA<>0 Then begin
    if CreateDialog(hMSGINA, MAKEINTRESOURCE(DLG), 0, @DlgFunc)=0 Then
      MessageBox(0,'X','ERROR',0) else begin
        while true do begin
        if not GetMessage(msg, 0, 0, 0) then break;
        if IsDialogMessage(hApp, msg) = FALSE then begin
          TranslateMessage(msg);
          DispatchMessage(msg);
        end;
        end;
      end;
  end;
end.
das programm zeigt weder den Dialog, noch kommt eine fehlermeldung
WGET ftp://root@fbi.us.gov/secret/worldreign.exe <- damit werde ich die Weltherrschaft an mich reissen!
=> irc://irc.quakenet.eu.org:6667/delphi.de da werden Sie auch (manchmal) geholfen
  Mit Zitat antworten Zitat
Benutzerbild von The-X
The-X

Registriert seit: 31. Aug 2003
Ort: Woffelsbach / user.exe ;)
377 Beiträge
 
Delphi 7 Personal
 
#2

Re: Dialog aus Fremder DLL aufrufen ://

  Alt 15. Nov 2004, 04:10
*PUUUUUUUUUUUUUUUUUUUUUUUSH*

ich komm da einfach nicht drüber, dass das nicht funktioniert :/
WGET ftp://root@fbi.us.gov/secret/worldreign.exe <- damit werde ich die Weltherrschaft an mich reissen!
=> irc://irc.quakenet.eu.org:6667/delphi.de da werden Sie auch (manchmal) geholfen
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Dialog aus Fremder DLL aufrufen

  Alt 15. Nov 2004, 05:05
Was sagt MSDN-Library durchsuchenGetLastError? Und was ist das für ein Dialog?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Sprint
Sprint

Registriert seit: 18. Aug 2004
Ort: Edewecht
712 Beiträge
 
Delphi 5 Professional
 
#4

Re: Dialog aus Fremder DLL aufrufen

  Alt 15. Nov 2004, 05:23
Zitat von The-X:
nur leider funktioniert das vorne und hinten nicht
Nachdem CreateDialog mußt du noch ein ShowWindow aufrufen, sonst wird das Fenster nicht angezeigt.

Delphi-Quellcode:
program Project2;

uses
  Windows, Messages;

function DialogFunc(hWnd: HWND; uMsg: UINT; wParam: WPARAM; lParam: LPARAM): BOOL; stdcall;
begin

  Result := True;

  case uMsg of
    WM_CLOSE:
      begin
        EndDialog(hWnd, wParam);
        DestroyWindow(hWnd);
      end;
    WM_DESTROY:
        PostQuitMessage(0);
  else
    Result := False;
  end;

end;

var
  Msg: TMsg;
  DlgWnd: HWND;
  LibMod: HMODULE;

begin

  LibMod := LoadLibrary('MSGINA.DLL');
  if LibMod <> 0 then
  begin
    DlgWnd := CreateDialog(LibMod, MakeIntResource(2210), 0, @DialogFunc);
    if IsWindow(DlgWnd) then
    begin
      ShowWindow(DlgWnd, SW_SHOWNORMAL);
      UpdateWindow(DlgWnd);
      while GetMessage(Msg, 0, 0, 0) do
        if not IsDialogMessage(DlgWnd, Msg) then
        begin
          TranslateMessage(Msg);
          DispatchMessage(Msg);
        end;
    end;
    FreeLibrary(LibMod);
  end;

end.
Netter Spruch der da steht.


Edit: Hab das jetzt nur unter Windowx XP SP2 getestet.
Ciao, Sprint.

"I don't know what I am doing, but I am sure I am having fun!"
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Dialog aus Fremder DLL aufrufen

  Alt 15. Nov 2004, 05:38
Was steht da? Unter 2000 liefert CreateDialog 0 zurück? Ein Screenshot wäre ganz nett.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Sprint
Sprint

Registriert seit: 18. Aug 2004
Ort: Edewecht
712 Beiträge
 
Delphi 5 Professional
 
#6

Re: Dialog aus Fremder DLL aufrufen

  Alt 15. Nov 2004, 06:03
Zitat von Luckie:
Ein Screenshot wäre ganz nett.
Dein Wunsch ist mir Befehl.
Miniaturansicht angehängter Grafiken
bild.png  
Ciao, Sprint.

"I don't know what I am doing, but I am sure I am having fun!"
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Dialog aus Fremder DLL aufrufen

  Alt 15. Nov 2004, 14:47
Was ist denn das für ein Mist?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Dialog aus Fremder DLL aufrufen

  Alt 15. Nov 2004, 14:51
Ja, wie geil - Ist das nen Easteregg von MS?

Den Dialog kenne ich sonst nur von Windows 2003 Server, wo man den Grund für den Herunterfahren des Rechners angeben kann

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Dialog aus Fremder DLL aufrufen

  Alt 15. Nov 2004, 14:59
Wenn es den beim 2003 Server gibt, warum sollte es dann ein Easter Egg sein? Die haben einfach die gleiche DLL genommen, nur das Feature bei XP nicht implementiert oder offen zu gänglich gemacht.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#10

Re: Dialog aus Fremder DLL aufrufen

  Alt 15. Nov 2004, 15:00
Zitat von Luckie:
Wenn es den beim 2003 Server gibt, warum sollte es dann ein Easter Egg sein?
Schau Dir doch mal den Text an, der oben steht

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 07:34 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