|
Bolcage mise en veille Ppc |
Débuté par jpmercier, 11 oct. 2005 10:48 - 8 réponses |
| |
| | | |
|
| |
Posté le 11 octobre 2005 - 10:48 |
Bonjour,
Dans cette séquence de code, comment eu où est déclaré le mot gbLockScreenSaver ? 1°) Voici le code du timer : IF gbLockScreenSaver = True THEN // Permet d'éviter que le Pocket se mette en shutdown // 25secondes, car le minimum est de 30s pour le passage en mode vieille TimerSys("gProc_CancelAutoShutdown",2500,2) END
2°) Et le code de procédure locale PROCEDURE gProc_CancelAutoShutdown()
API("coredll.dll","SystemIdleTimerReset") Amitiés JPM |
| |
| |
| | | |
|
| | |
| |
Posté le 11 octobre 2005 - 11:59 |
Bonjour, A mon avis il s'agit une variable globale ( gb... ) déclarée donc dans l'initialisation du projet, et qui permet de bloquer ou non la mise en veille du pocketpc suivant les besoins.
Frédéric. |
| |
| |
| | | |
|
| | |
| |
Posté le 11 octobre 2005 - 13:11 |
BOnjour, Christiant Ben Non! Ca ne marche pas sur mon 2020i (même techno que le 9090)! Peut être que la variable gb.. est mal initialisée... J'aimerais avoir la syntaxe excate, si possible. Encore ttes mes amitiés JPM |
| |
| |
| | | |
|
| | |
| |
Posté le 11 octobre 2005 - 13:36 |
Je pense que c'est le code que j'avais mis à dispo il y a quelques temps...
Pour info :
- "gbsLockScreenSaver" est effectivement une variable globale du projet (boolean). Elle est modifiée via une fenêtre de settings, et mémorisée dans la base de registre du Pocket
- L'appel à cet API ne semble pas fonctionner sous Windows Mobile 2002. Est-ce le cas de vos PocketPC ?
Julien |
| |
| |
| | | |
|
| | |
| |
Posté le 11 octobre 2005 - 14:08 |
Le 11/10/2005, Frédéric DEMILLY a supposé :
Bonjour, A mon avis il s'agit une variable globale ( gb... ) déclarée donc dans l'initialisation du projet, et qui permet de bloquer ou non la mise en veille du pocketpc suivant les besoins.
Frédéric.
Est-ce que la procédure marche chez vous car sur mon PPC (QTEK 9090) elle ne fonctionne pas !
-- Bon développement à tous Christian
cciochir@ _ at _ cmii.fr |
| |
| |
| | | |
|
| | |
| |
Posté le 11 octobre 2005 - 14:40 |
Bonjour, Julien Je suis Win 2003 SE et ca ne fonctionne pas. Peut être que je m'y prend mal. Effectivement, je n'arrive pas comprendre la variable gbsLockScreenSaver. Il faut la déclarer en booléen standard ou avec cette syntaxe : gbLockScreenSaver est un Booléen=API("coredll.dll","SystemIdleTimerReset")? Sur quel évenement faut il mettre le code du Timer : initialisation de la fenêtre, prise de focus,etc...? Merci de ton aide Amitiés JPM |
| |
| |
| | | |
|
| | |
| |
Posté le 11 octobre 2005 - 15:21 |
Bonjour JPM,
Déjà, tu es en WM2003SE, donc il n'y a pas de raison pour que ça ne fonctionne pas !
1°) Déclarer une variable globale au projet : gbsLockScreenSaver is boolean
2°) Dans le code d'initialisation du projet, tu lis la valeur de la clef dans la base de registre gbLockScreenSaver = RegistreLit("HKEY_LOCAL_MACHINE\SOFTWARE\MonLogiciel\Settings","ScreenSaver") NB : Cette clef a initialisée dans une fenêtre de paramétrage (voir point 4)
3°) Toujours dans l'initialisation du projet , tu déclenches ton timer si gbLockScreenSaver = True. Je l'ai mis au niveau de l'init du projet afin qu'il s'applique à l'ensemble de mes fenêtres : IF gbLockScreenSaver = True THEN // Permet d'éviter que le Pocket se mette en shutdown TimerSys("gProc_CancelAutoShutdown",2500,2) END NB: La procédure "gProc_CancelAutoShutdown" est une procédure globale (déjà expliqué précédement)
4°) Faire une fenêtre de paramétrage avec un interupteur "Bloquer la mise en veille" (nommé "INT_SCREENSAVER") : //******************************* // A l'ouverture de la fenêtre //******************************* INT_SCREENSAVER = gbLockScreenSaver
//********************************** // A la validation ou fermeture de la fenêtre //*********************************** IF gbLockScreenSaver <> INT_SCREENSAVER THEN IF INT_SCREENSAVER = True THEN TimerSys("gProc_CancelAutoShutdown",2500,2) ELSE FinTimerSys(2) END RegistreEcrit "HKEY_LOCAL_MACHINE\SOFTWARE\MonLogiciel\Settings","ScreenSaver",NumToString(INT_SCREENSAVER)) END
Bien sur, le nom de la clef que j'ai utilisée peut être changée
En suivant cette logique, tout devrait rentrer dans l'ordre...
Cordialement,
Julien |
| |
| |
| | | |
|
| | |
| |
Posté le 11 octobre 2005 - 15:31 |
Un super grand merci pour cette aide précieuse et détaillée. Merci Julien. Pour toi, un tag de "un des meilleurs intervenants de ce forum" Amitiés JPM |
| |
| |
| | | |
|
| | |
| |
Posté le 11 octobre 2005 - 15:58 |
Il n'y a pas de quoi ! Le forum est fait pour ça. De plus, tu n'es pas non plus le dernier à dépanner les utilisateurs de ce forum.
Si tu souhaites discuter "off-line" de Windev Mobile ou d'autres projet, n'hésites pas à me contacter. Nous n'avons jamais finit d'aprendre
Amitiés,
Julien julienmor1_at_free.fr |
| |
| |
| | | |
|
| | | | |
| | |
|