| |
|
|
 Stefan M. Caillet | Yo möchte gern esta Code de Andreas Miethe dazu uso, en una "Herunterfahren Befehl" todavía algunos Dinge a erledigen. An y para se kalppt el auch. Aber si el Erledigen algo dauert, erscheint una Dialogbox. el gerne esta Code final sería. Klicke I abbrechen kann el Code zwar seine Arbeit erledigen, aber Windows no es mehr automáticamente final. Yo möchte esta Code así adaptar, dass Windows zwar el Runterfahren stillschweigend (sin esta Dialogbox) unterbricht, pero si el Code El notwendigen Dinge hecho ha, dieser Windows sagt, dass lo ahora inmediatamente runterfahren kann.Mein Code debería also el Runterfahren abbrechen, y después de getaner Arbeit una neuen ShutDown erzeugen, sin sin embargo selber otra vez darauf a reagieren. Leider finde Yo en el Code el Punto(n) no, wo Yo eingreifen muss (- kann). Also Por favor, Yo en eure Ayuda.
#############################
Test-Programa para :
XProfan
#############################
Author : Andreas Miethe
August 2003
#############################
Thema : Windows-Ende abfangen
#############################
$H windows.ph
$H messages.ph
DEF HiWord(1) And(&(1)>>16,$FFFF)
DEF LoWord(1) And(&(1),$FFFF)
Declarar Ende&,Button&,OldWindowProc&
Proc Speicher_Routine
Declarar X&
Statt uno Speicher-Rutina se ejecuta hier sólo una Zähler por
~TextOut(%hDC,0,0,"Speicher-Dummy :",16)
Sinestar encargado X& > 20000
Localizar 2,0
Imprimir X&
Inc X&
EndWhile
~TextOut(%hDC,0,100,"fertig con Guardar :",22)
~TextOut(%hDC,0,150,"Taste.... :",11)
Waitinput
ENDPROC
Proc Frage_Speichern
If Messagebox("Erstmal todos Daten speichern ?","Windows_Ende?",36) = 7
volver 1Windows se inmediatamente final
Más
bevor 1 zurückgegeben se kann hier una Speicher-Rutina
instalado se. Windows se sólo final si alles hecho es.
Speicher_Routine
volver 1Windows se después de el Guardar final
volver 0 Windows no final
Endif
ENDPROC
Proc WindowProc
Parámetros Wnd&, Msg&, wParam&, lParam&
If Msg& = ~WM_COMMAND
If lParam& = Button&Control abfragen
If HiWord(wParam&) = ~BN_CLICKEDKlick en Button
SendMessage(Wnd&,~WM_CLOSE,0,0)
Endif
Endif
Endif
If Msg& = ~WM_CLOSE
Speicher_Routine
~PostQuitMessage(0)Programa-Ende
Endif
If Msg& = ~WM_QUERYENDSESSION
Volver Frage_Speichern()
Endif
todos Messages el no behandelt fueron a el Original-Procedimiento weiterleiten
volver ~CallWindowProc(OldWindowProc&,Wnd&, Msg&, WParam&, LParam&)
ENDPROC
set("FastMode",1)
SetTrueColor 1
Ventana de Estilo 31
Ventana 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)
Ventana-Procedimiento austauschen y el Original-Procedimiento en
OldWindowproc sichern
OldWindowProc& = ~SetWindowLong(%hwnd,~GWL_WNDPROC, ProcAddr(windowProc,4))
Sinestar encargado Ende&
WaitInput
EndWhile
Gracias 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 ▲ |
|
|
|
|
 | Yo fürchte - en lo kurz a hacer - el va no (sauber).
Usted könntest el sistema API(s) hooken y "zurücksetzen" y luego incluso selbige Shutdown-Anforderung nochmals absenden - Yo mi aber hier debería anders angesetzt voluntad porque auch solch Hook entweder vom OS no erlaubt se/voluntad podría (z.B. UAC) o. ach viel blabla... Wenn el Code aber sólo para una bestimmtes Windows ser se, entonces podría uno vlt. aber todavía ansetzen. Geht lo also z.B. einzig en Win98 - entonces una Hook vlt. una Möglichkeit.
Besser wäre: Wenn Shutdown "registriert" (con obigen Code) entonces inmediatamente final - z.B. todos States _fix abspeichern y sólo beim nächsten Start Deiner Anwendung entonces reagieren - z.B. con Wiederherstellen el fix gespeicherten States. So bliebe lo en cada Fall "sauber" y Usted müsstest no Kämpfe gegen el OS führen. |
|
|
| |
|
|
|
 Stefan M. Caillet | Laut el Code de Andreas hay sí el Möglichkeit Durch Volver = 0 de el Frage_Speichern Proc el herunterfaren abzubrechen. Was Yo nun bräuchte es danach el winproc otra vez a deaktivieren, y de el Mientras que Ende& schleife rauszukommen. Danach kann Yo mi Dinge erledigen y una neuen Shutdown abzusetzen. Mein Problema: como kann Yo después de el Volver 0 esta Winproc otra vez deaktivieren, dmit Windows seine messages otra vez 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, simplemente indem Usted OldWindowProc& nutzt en lugar de procAddr y el SetWindowLong nochmals absendest. |
|
|
| |
|
|
|
 Stefan M. Caillet | Sorry IF, steh en el Schlauch (wiedermal)  Sei así lieb y zeig me, como y wo Yo Was genau en el Code einfügen muss. Wär me echt ne grosse Ayuda. Gracias. 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 ▲ |
|
|
|
|
 | Usted änderst el WProc sí con el Línea: wobei así el vorherige procAddr sí en oldWindowProc& landet.
Na y si Su wProc nombre "WindowProc" otra vez ablösen möchtest entonces: womit (como Usted meintest "winproc otra vez a deaktivieren") Su wndProc sólo otra vez fuera de el Spiel es.
Was Yo eben no genau blanco es, wann genau Usted Su propio wProc otra vez "abschiessen" willst aber el Línea kannst Usted einfügen wo Usted möchtest. |
|
|
| |
|
|
|
 Stefan M. Caillet | IF, glaub lo oder glaub no, pero klappt!  Yo como nämlich ne Möglichkeit gebraucht, en nem älteren Laptop de ner älteren Frau, el no así fest en el Sattel el Computerwelt sitzt, Daten como E-Mails, Adressbuch usw en regelmässigen abstänedn en ne Speicherkarte en el PCMCIA-Slot a sichern. el Plenario absolut sin ihr zutun beim Abschalten des "Lappis" (como ellos ihn liebevoll nennt) automáticamente passieren. Acronis Aunque no schlecht, fragt me aber a oft después de, y yo quería dies así haben, dass eben no rückfragen, pero sólo el Referencia "BackUp se erstellt - Der Computer schaltet se danach automáticamente aus") erscheint. Nun kann Yo dieses Programa fertigstellen, porque dank Andreas Miethe y Usted IF funktioniert nun el Windows Hook. Gracias 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 | ¡Hola
Sí, para Glück hay unos pocos Personas aquí en Xprofan el uno no missen möchte. If y Andreas Miethe son determinado auch así gemeint. Manchmal se "muss" uno Komplimente a ellos escribir.
Gruss Pedro |
|
|
| |
|
|