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.