title image


Smiley Re: okay vordergrund geht jetzt
Beliebiges positionieren von Message-Boxen ist schon möglich. Du musst lediglich in die Windows-Prozedur einhaken:



// Hook setzen

hhookOld = SetWindowsHookEx(WH_CBT, my_CBTHook, 0, GetCurrentThreadId());



MessageBox( 0,"Bestehende Verbidnung",0,MB_OK|MB_ICONEXCLAMATION|MB_SYSTEMMODAL );



// wieder auf alten Hook zurücksetzen

UnhookWindowsHookEx(hhookOld);



my_CBTHook muss dabei folgender Konvension entsprechen:



LRESULT CALLBACK CBTProc(

int nCode,

WPARAM wParam,

LPARAM lParam

);



In der Hookfunktion musst dann lediglich auf die Nachricht HCBT_CREATEWND reagieren. Diese wird gesendet nachdem das Fenster erzeugt wurde, aber noch vor deren eigentlichen Create-Message. Lässt sich alles in der MSDN nachlesen.



code: HCBT_CREATEWND



wParam: Handle auf das neue Fenster



lParam: Long-Pointer auf eine CBT_CREATEWND-Struktur, die alle Informationen für das zu erstellende Fenster enthält. Durch das Ändern der Daten in der enthaltenen CREATESTRUCT kann dann z. B. die Position geändert werden.



Zum erkennen, dass eine MessageBox angezeigt werden soll können die Style-Bits auf WS_DLGFRAME und WS_POPUP überprüft werden.



Viele Grüße

Thomas

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: