| |
|
|
- page 1 - |
|
| allô Profaner...
j'ai folgendes Problem: sur den Versuch Windows herunterzufahren doit un Programme de mir entsprechend réagir.
je sais, cela Windows beim Herunterfahren qui Message WM_QUERYENDSESSION à chaque Programme sendet et sur une positive Rückmeldung wartet. comment peux je cet Message avec Profan intercepter et entsprechend behandeln? Hat quelqu'un une concept???
Profan 7.5 => Windows2000/XP |
|
|
| |
|
|
|
| |
|
- page 1 - |
|
Frank Abbing | justement trouvé: [...] Andreas hat quelque chose comme déjà geschrieben |
|
|
| |
|
|
| |
|
- page 2 - |
|
|
| Nochmals besten Dank, Frank. cela zeigt mir eigentlich déjà, qui je qui l'affaire richtig verstanden habe. je werde mich la fois sur Andreas Page d'accueil umsehen. Bislang kenne je seulement qui Possibilité, avec SetWindowLong qui Adresse qui neuen Procédure trop transfert, peut-être viens je là encore sur neue idées. |
|
|
| |
|
|
|
| allô Frank...
Dein Tipp était goldrichtig et hat mir presque alle meiner Fragen sur einmal beantwortet . peux on Subclassing aussi avec externe DLL realisieren, ou bien doit qui Procédure dedans meines Programms stehen? |
|
|
| |
|
|
|
Frank Abbing | Hi,
non, une externe Dll allez naturellement aussi. Siehe Message.dll |
|
|
| |
|
|
|
| là habe je wirklich une ganze la quantité dazugelernt . malheureusement zeigt mir cela mais aussi, qui je avec meiner jetzigen Profanversion sur keinen le cas weiterkomme.
j'ai maintenant folgende grand s'il te plaît à jeden de euch: il me faut pour eines meiner Shareware Programme une avec UPX komprimierte XProfan EXE comme Freeware. cet Programme soll mittels Subclassing qui Message WM_QUERRYENDSESSIN intercepter et, si cet Message aufgetreten ist, Windows avec dem Profanbefehl ExitWindows 4 herunterfahren. cela de qui EXE erzeugte la fenêtre doit unsichtbar son. si cela Programme dans qui Taskleiste erscheint, ist égal (Übergangslösung, jusqu'à je XProfan habe).
cela hört sich peut-être assez compliqué à, dans Wirklichkeit sommes cela mais seulement un paire Zeilen Voir le texte source. presque alles, quoi on trop diesem Programme braucht - sogar den größten partie des Quelltextes (nämlich cela Subclassing qui Message WM_QUERRYENDSESSION) - findet on eigentlich déjà sur qui XProfan Page d'accueil de Andreas Miethe. cela ganze pourrait alors seulement une travail de un paire Minuten son.
je sais, qui cela une très grand s'il te plaît ist, et je wäre aussi pas böse, si mir cette Wunsch niemand rencontrer serait - mais riesig freuen serait je mich déjà. |
|
|
| |
|
|
|
| non eigendlich aucun grand s'il te plaît - Du holst Dir simple qui neuste XProfan-Shareware ausm Downloadbereich et proggst quoi Du brauchst. cela Compilieren inne Exe wird sicherlich quelqu'un pour toi prendre.
Salve, iF |
|
|
| |
|
|
|
Frank Abbing | Hi,
mach den Code pour deinen Vorstellungen fertig et schicke ihn mir calme trop. je kompiliere ihn pour toi et schicke dir qui Exe zurück. encore besser wäre es, du legst dir XProfan trop... |
|
|
| |
|
|
|
Michael Dell | Salut,
meint son so etwa? KompilierenMarqueSéparationDef CallWindowProc(5) !"USER32.DLL","CallWindowProcA" lpPrevWndFunc&,hwnd&,MSG&,wParam&,lParam&
Def SetWindowLong(3) !"USER32.DLL","SetWindowLongA" hwnd&,nIndex&,dwNewLong&
Def &GWL_WNDPROC -4
Def &WM_QUERYENDSESSION $0011
Def &WM_CANCELMODE $001F
Declare gHW&,lpPrevWndProc&
Proc NewWindowProc
Parameters hw&,uMsg&,wParam&,lParam&
Declare Ant&
Case (uMsg& = &WM_QUERYENDSESSION): ExitWindows 4
Return CallWindowProc(lpPrevWndProc&,hw&,uMsg&,wParam&,lParam&)
EndProc
Proc Hook
gHW& = %hwnd
lpPrevWndProc& = SetWindowLong(gHW&,&GWL_WNDPROC,ProcAddr("NewWindowProc",4))
EndProc
Window Add(%maxX,10),100-25,25
ShowWindow(%HWnd,0)
Hook
While 1
WaitInput
EndWhile
Fin
Hab cela la fois avec Profan2Cpp & UPX sur 76kB gedrückt: [...]
peut-être isses oui brauchbar.
Salut
Michael... |
|
|
| Salu Michael...
Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! | 22.02.2005 ▲ |
|
|
|
|
| allô Michael...
Denk dir une Schönen Titel pour cela la fenêtre aus et kompiliere cela zur EXE - cela devrait es son! Zum Testen des Programms kanns du simple Notepad starten, une kleinen Text eingeben et pas Sauver. si du ensuite cela Programme startest et Windows après herunterfahren läßt, soll Windows sans demande finissez volonté.
@IF... mon calculateur ist avec Profanversionen jusqu'à zum Stehkragen pleine - laufend gibt es Probleme qui richtige Aider trop starten. c'est pourquoi ziehe je mir maintenant pas qui Sharewareversion - mais bientôt qui Vollversion.
Vielen Dank à alle pour ses Aider!
|
|
|
| |
|
|
|
| Pour solcherlei Probleme gibs doch aba den XPSE.
bof et qui Aider... là braucht on doch eigendlich imma seulement qui Neueste.
Salve, iF |
|
|
| |
|
|
|
| allô Michael...
Au bion je blöd! Hab den Link entier übersehen - Programme ist oui déjà fertig! Werds demain juste testen!!!
|
|
|
| |
|
|
|
| allô Michael...
cela Programme funktioniert hervorragend et ist haargenau et jusqu'à aufs I-Tüpfelchen oui c'est ca cela quoi je avons voulais! ~pressmee~
...peut-être hilft es oui encore irgendeinem plus, si je maintenant la fois genauer sur qui Unterschiede beim Herunterfahren de Windows eingehe:
Windows95/98/ME=> Es wird à chaque Toplevelfenster qui Message WM_QUERYENDSESSION gesendet. seulement si alle la fenêtre une 1 zurückgeliefert avons, wird qui Message WM_ENDSESSION à qui la fenêtre envoyé, qui alle laufenden Programme finissez. Liefert un la fenêtre comme Antwort sur WM_QUERYENDSESSION 0 zurück, wird qui Message WM_ENDSESSION pas abgeschickt.
WindowsNT/2000/XP=> Es wird à chaque Toplevelfenster qui Message WM_QUERYENDSESSION envoyé. chaque la fenêtre, cela une 1 zurückliefert, erhält ensuite qui Message WM_ENDSESSION , quoi en supplément führt, qui cela betreffende Programme finissez wird. Liefert un la fenêtre sur WM_QUERYENDSESSION 0 zurück, wird qui ganze Prozess abgebrochen et es wird à qui nachfolgenden la fenêtre weder qui Message WM_QUERYENDSESSION encore qui Message WM_ENDSESSION gesendet. Welches la fenêtre d'abord qui Message WM_QUERYENDSESSION bekommt, hängt en ab, quand qui dazugehörige Prozess gestartet wurde (meiner Meining pour une extrem unideale variante des Shutdowns). |
|
|
| |
|
|