| |
|
|
|
Source wurde am 15.07.2007 aus qui MMJ-Quellcodesammlung (Dietmar Horn) dans qui Babyklappe sur XProfan.Com abgelegt:
Windows-Ende intercepter
#############################
Test-Programme pour :
XProfan
#############################
Author : Andreas Miethe
août 2003
#############################
Thema : Windows-Ende intercepter
#############################
$H windows.ph
$H messages.ph
DEF HiWord(1) And(&(1)>>16,$FFFF)
DEF LoWord(1) And(&(1),$FFFF)
Déclarer Ende&,Button&,OldWindowProc&
Proc Speicher_Routine
Déclarer X&
Statt einer grenier-Routine fonctionne ici seulement un Zähler par
~TextOut(%hDC,0,0,grenier-Dummy :,16)
Whilenot X& > 20000
Localiser 2,0
Imprimer X&
Inc X&
Endwhile
~TextOut(%hDC,0,100,fertig avec Sauver :,22)
~TextOut(%hDC,0,150,bouton.... :,11)
Waitinput
ENDPROC
Proc Frage_Speichern
Si Messagebox(Erstmal alle données Sauver ?,Windows_Ende?,36) = 7
return 1 Windows wird tout de suite finissez
D'autre
bevor 1 retour wird peux ici une grenier-Routine
incorporé volonté. Windows wird seulement finissez si alles erledigt est.
Speicher_Routine
return 1 Windows wird pour dem Sauver finissez
return 0 Windows pas finissez
Endif
ENDPROC
Proc WindowProc
Paramètres Wnd&, Msg&, wParam&, lParam&
Si Msg& = ~WM_COMMAND
Si lParam& = Button& Contrôle abfragen
Si HiWord(wParam&) = ~BN_CLICKEDKlick sur Button
SendMessage(Wnd&,~WM_CLOSE,0,0)
Endif
Endif
Endif
Si Msg& = ~WM_CLOSE
Speicher_Routine
~PostQuitMessage(0)Programme-Ende
Endif
Si Msg& = ~WM_QUERYENDSESSION
Retour Frage_Speichern()
Endif
alle Messages qui pas behandelt wurden à qui Original-Procédure weiterleiten
return ~CallWindowProc(OldWindowProc&,Wnd&, Msg&, WParam&, LParam&)
ENDPROC
set(FastMode,1)
SetTrueColor 1
Fenêtre Style 31
Fenêtre 0,0-640,480
CLS ~GetSysColor(~COLOR_BTNFACE)
Button& = CreateButton(%hwnd,Ende,10,50,80,24)
SendMessage(Button&,~WM_SETFONT,~GetStockObject(~DEFAULT_GUI_FONT),1)
Fenêtre-Procédure austauschen et qui Original-Procédure dans
OldWindowproc sichern
OldWindowProc& = ~SetWindowLong(%hwnd,~GWL_WNDPROC, ProcAddr(windowProc,4))
WhileNot Ende&
WaitInput
Endwhile
|
|
|
| |
|
|