bonjour,
Je suis en train de corriger du code d'un service interactif sous VC++ 6.0 (avec fenetre: je sais c'est moche et ca ne fonctionnera pas sous Vista ..).
Bref, je me met en mode tout éteint (ecran, led, ...) et en cliquant sur mon ecran tactile une fois, ca revient à la normale. Ca, ca fonctionne.
Par contre, lorsque l'écran de veille est en route, le premier click est pour la veille , le deuxième pour mon appli. D'ou probleme en cas de mot de passe après ecran de veille (mon ecran reste noir (en mode tout eteint) et tant que je n'ai pas mon mot de passe je ne peux pas revenir à la normale, mais comme l'ecran est noir, je n'ai pas acces à mon mot de passe ... On se mord la queue comme dirait le serpent !!)
Savez-vous comment récupérer les évenements windows dans ce cas là ? Y a t il une gestion des priorités ??? ou autre ?
Merci de votre aide.
EDIT: est ce que Windows envoie des messages/evenements aux services ?
EDIT 2 : J'ai réussi à capturer l'evenement de lancement de l'ecran de veille:
Comment savoir que l'ecran de veille a été désactivé ? enfin, en cours d'arret ? L'evenement WM_LBUTTONDOWN ne nous parvient pas lorsque l'ecran de veille est activé. Il doit etre intercepté par windows et non broadcasté ... Une idée SVP ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 LRESULT CMainFrame::WindowProc (UINT p_uiMessage, WPARAM wParam, LPARAM lParam) { if (p_uiMessage == WM_SYSCOMMAND) { if ((wParam == SC_SCREENSAVE) || ((wParam & 0xfff0) == SC_SCREENSAVE)) { trace("Ecran de veille activé"); if (m_bIsMute) { bEcranVeille = true; } } } return CServiceWindow::WindowProc (p_uiMessage, wParam, lParam); }
Merci
Partager