| |
|
|
Stefan M. Caillet | je voudrais bien cette Code de Andreas Miethe en supplément verwenden, um pour einem "Herunterfahren Befehl" encore quelques Dinge trop erledigen. à et pour sich kalppt cela aussi. mais si cela Erledigen quelque chose dauert, erscheint une Dialogbox. qui volontiers cette Code finissons serait. Klicke je sur démolir peux qui Code zwar sa travail erledigen, mais Windows wird pas plus automatisch finissez. je voudrais cette Code so anpassen, dass Windows zwar cela Runterfahren stillschweigend (sans cet Dialogbox) unterbricht, mais si qui Code qui notwendigen Dinge erledigt hat, cette Windows sagt, dass es maintenant tout de suite runterfahren peux.mon Code devrait alors cela Runterfahren démolir, et pour getaner travail une neuen ShutDown erzeugen, sans cependant selber wieder puis trop réagir. malheureusement finde je im Code qui Stelle(n) pas, wohin je intervenir muss (- peux). alors s'il te plaît je um eure Aider.
#############################
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,"Speicher-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,"Taste.... :",11)
Waitinput
ENDPROC
Proc Frage_Speichern
Si Messagebox("Erstmal alle données Sauver ?","Windows_Ende?",36) = 7
return 1Windows 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 1Windows 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
merci Stefan |
|
|
| Ich habe grosses Glück, weil ich Mitmenschen helfen darf. Entwicklungsumgebung: XProfan11 , Win XP Pro 32Bit , Win XP Home ,Win7 HomePremium 64Bit PC: P4/3GHz , 2GB RAM , 1700GB HD Laptop: Intel Core 2 Duo /2,2GHz , 4GB RAM , 500GB HD | 12.08.2009 ▲ |
|
|
|
|
| je fürchte - um es kurz trop faire - cela allez pas (net).
Du könntest qui Api(s) hooken et "zurücksetzen" et ensuite selbst selbige Shutdown-Anforderung nochmals expédier - je mon mais ici sollte anders angesetzt volonté weil aussi solch Hook entweder vom OS pas erlaubt wird/volonté pourrait (z.B. UAC) bzw. ah viel blabla... si qui Code mais seulement pour un bestimmtes Windows son soll, ensuite pourrait on vlt. mais toutefois ansetzen. ca va alors z.B. seule um Win98 - ensuite est un Hook vlt. une Possibilité.
Besser wäre: si Shutdown "registriert" (avec obigen Code) ensuite tout de suite finissons - z.B. alle States _fix abspeichern et seulement beim prochain Start Deiner Anwendung ensuite réagir - z.B. avec Wiederherstellen qui fix gespeicherten States. So bliebe es sur jeden le cas "sauber" et Du müsstest aucun Kämpfe vers cela OS mener. |
|
|
| |
|
|
|
Stefan M. Caillet | le son dem Code de Andreas gibt es oui qui Possibilité par Retour = 0 aus qui Frage_Speichern Proc cela herunterfaren abzubrechen. quoi je eh bien bräuchte ist après qui winproc wieder trop désactiver, et aus qui Tandis que Ende& schleife rauszukommen. après peux je mon Dinge erledigen et une neuen Shutdown abzusetzen. mon Problem: comment peux je pour dem Retour 0 cet Winproc wieder désactiver, dmit Windows sa messages wieder selber regelt? Stefan |
|
|
| Ich habe grosses Glück, weil ich Mitmenschen helfen darf. Entwicklungsumgebung: XProfan11 , Win XP Pro 32Bit , Win XP Home ,Win7 HomePremium 64Bit PC: P4/3GHz , 2GB RAM , 1700GB HD Laptop: Intel Core 2 Duo /2,2GHz , 4GB RAM , 500GB HD | 13.08.2009 ▲ |
|
|
|
|
| Achso, simple indem Du OldWindowProc& utilise statt procAddr et den SetWindowLong nochmals absendest. |
|
|
| |
|
|
|
Stefan M. Caillet | Sorry iF, steh sur dem Schlauch (wiedermal) Sei so lieb et zeig mir, comment et wohin je quoi oui c'est ca im Code insérer muss. Wär mir vraie ne grosse Aider. merci. Stefan |
|
|
| Ich habe grosses Glück, weil ich Mitmenschen helfen darf. Entwicklungsumgebung: XProfan11 , Win XP Pro 32Bit , Win XP Home ,Win7 HomePremium 64Bit PC: P4/3GHz , 2GB RAM , 1700GB HD Laptop: Intel Core 2 Duo /2,2GHz , 4GB RAM , 500GB HD | 13.08.2009 ▲ |
|
|
|
|
| Du änderst qui WProc oui avec qui la ligne: wobei avec cela qui vorherige procAddr oui dans oldWindowProc& landet.
et alors si Du Votre wProc nommé "WindowProc" wieder ablösen vouloir ensuite: womit (comment Du meintest "winproc wieder trop deaktivieren") Votre wndProc arrêt wieder raus aus dem Spiel ist.
quoi je plan pas oui c'est ca weiss ist, quand oui c'est ca Du Votre eigene wProc wieder "abschiessen" veux mais qui la ligne peux Du insérer wohin Du vouloir. |
|
|
| |
|
|
|
Stefan M. Caillet | iF, glaub es ou bien glaub es pas, mais es klappt! je hab là nämlich ne Possibilité gebraucht, sur nem älteren Laptop de ner älteren madame, qui pas so fest im selle qui Computerwelt sitzt, données comment qui E-Mails, Adressbuch usw dans regelmässigen abstänedn sur ne Speicherkarte im PCMCIA-Slot trop sichern. cela Plénier absolu sans son zutun beim débrancher des "Lappis" (comment vous ihn liebevoll nennt) automatisch passer. Acronis ist zwar pas mal, fragt mir mais trop souvent pour, et je voulais ca so avons, dass plan aucun rückfragen, mais seulement qui Hinweis "BackUp wird erstellt - qui ordinateur schaltet sich après automatisch aus") erscheint. eh bien peux je cet Programme fertigstellen, car dank Andreas Miethe et Dir iF funktioniert eh bien qui Windows Hook. merci eucch vielmals. |
|
|
| Ich habe grosses Glück, weil ich Mitmenschen helfen darf. Entwicklungsumgebung: XProfan11 , Win XP Pro 32Bit , Win XP Home ,Win7 HomePremium 64Bit PC: P4/3GHz , 2GB RAM , 1700GB HD Laptop: Intel Core 2 Duo /2,2GHz , 4GB RAM , 500GB HD | 13.08.2009 ▲ |
|
|
|
|
Sato Pinto | allô
oui, zum Glück gibt es un paire gens ici dans Xprofan den on pas missen voudrais. Si et Andreas Miethe sommes bestimmt aussi avec cela gemeint. quelquefois soll "muss" on Komplimente à vous écrivez.
Gruss Pedro |
|
|
| |
|
|