Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Clé Registre Verouillage Session

1 réponse
Avatar
Luipon
Bonjour,

je cherche une solution pour qu'un logiciel ne detecte pas que j'ai
verouillé ma session. En fait, j ai un logiciel de discussion (genre msn) qui
detecte si on est devant son ordi (et que l'on travaille, que l'on tape au
clavier ...) et qui comptabilise le temps de travail. Le probleme est qu'il
detecte lorsque l'on verouille sa session (pour aller prendre une pause par
exemple) et du coup il ne compte plus le temps en trravail.
Lorsque l'on verouille avec "Demarer+L", il detecte aussitot que la station
est verouillé. Le logiciel doit donc se baser sur une valeur de la base de
registre, ou autre chose comme cela.
Je sais également que si je met un ecran de veille, il croit que je
travaille (puisqu'il n'y a pas de verouillage de session). Le probleme est
qu'il n'y a plus d'activité et donc il le detecte.

Voila , donc je voudrais savoir si quelqu 'un connait la clé du registre qui
permet de savoir si la session est verouillé ou pas.

Merci d'avance pour vos réponses.

1 réponse

Avatar
Jean-Claude BELLAMY
Dans le message :,
Luipon a pris la peine d'écrire ce qui
suit :
Bonjour,

je cherche une solution pour qu'un logiciel ne detecte pas que j'ai
verouillé ma session. En fait, j ai un logiciel de discussion (genre
msn) qui detecte si on est devant son ordi (et que l'on travaille,
que l'on tape au clavier ...) et qui comptabilise le temps de
travail. Le probleme est qu'il detecte lorsque l'on verouille sa
session (pour aller prendre une pause par exemple) et du coup il ne
compte plus le temps en trravail.
Lorsque l'on verouille avec "Demarer+L", il detecte aussitot que la
station est verouillé. Le logiciel doit donc se baser sur une valeur
de la base de registre,
NON !


ou autre chose comme cela.
Je sais également que si je met un ecran de veille, il croit que je
travaille (puisqu'il n'y a pas de verouillage de session). Le
probleme est qu'il n'y a plus d'activité et donc il le detecte.

Voila , donc je voudrais savoir si quelqu 'un connait la clé du
registre qui permet de savoir si la session est verouillé ou pas.


Ce n'est pas dans le registre !

Mais dans une zone mémoire gérée par le système.
(stocké dans le bit "WS_VISIBLE" de la fenêtre)

Pour savoir si une session est verrouillée ou non, il suffit de tester si la
fenêtre principale de l'application qui fait le test est visible ou non.
Pour cela, on utilise la fonction "IsWindowVisible" de la DLL "user32.dll"
BOOL IsWindowVisible(
HWND hWnd
);

Cette méthode de tester le bit de visibilité d'une fenêtre pour savoir si
une station est verrouillée ou non est préconisée par le SDK dans un
document indiquant comment verrouiller une station par programmation :

"How to Lock the Workstation
The following example locks the workstation using
the LockWorkStation function. The system displays
the Lock Workstation dialog box. The dialog box text
says that the workstation is in use and has been
locked by the user.

// Lock the workstation.
if( !LockWorkStation() )
printf ("LockWorkStation failed with %dn", GetLastError());

Le passage important :
To determine whether the workstation is locked, test whether your window
is visible.


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr