Lorsque on eteinds l'ordinateur, windows ferme tout les programmes actifs.
Cependant, un programme peut empecher cette fermeture automatique, comme par exemple Microsoft Word, qui empeche l'ordinateur de s'eteindre si on n'a pas sauvgarde les fichiers.
Je me suis demande si c'etait possible de programmer un truc comme ca, j'ai un programme qui joue de la musique, et je veux qu'il la joue tout le temps que l'ordinateur est allume, et pourtant, ca m'est arrive plusieurs fois d'eteindre l'ordinateur en oubliant de sauvgarder un document word, mon programme de musique a ete eteint automatiquement par windows, mais l'ordinateur ne s'est pas eteint, je suis revenu sur word pour sauvgarder et du coup j'ai fait encore quelquue petits changements sur mon document, et je me suis demande comment refuser l'extincsion automatique de windows, de facon a ce que mon programme soit le dernier eteint, une fois que tout les autres programmes soient eteint (ou mieux encore, ca ne me derange pas qu'il soit eteint en dur par windows).
J'ai commence un petit code, je recupere le signal de windows, mais je ne sais pas comment le continuer, comment refuser ce signal. pour l'instant j'arrive a bipper juste avant de s'eteindre, mais pas plus.
Si quelqu'un a une idee, je le remercie d'avance.
Code : Tout sélectionner
Procedure RefuserFinDeSession(hWnd, uMsg, wParam, lParam)
Result = #PB_ProcessPureBasicEvents
Select uMsg
Case #WM_QUERYENDSESSION : Beep_(100,1000)
EndSelect
ProcedureReturn Result
EndProcedure
OpenWindow(0, 0, 0, 90, 90, "RefuserFinDeSession", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
SetWindowCallback(@RefuserFinDeSession())
Repeat
Select WaitWindowEvent()
EndSelect
ForEver