bonjour,
avec Xp, un utilisateur A peut "replier sa session" et revenir à
l'écran d'accueil et permettre à un autre utilisateur B d'utiliser une
autre session. Les appli lancées par A restent alors actives...
J'aimerais savoir si ce "repliage" de session est un événement
détectable par un programme qui tourne... sous la session de A
Merci d'avance,
HB
bonjour,
avec Xp, un utilisateur A peut "replier sa session" et revenir à
l'écran d'accueil et permettre à un autre utilisateur B d'utiliser une
autre session. Les appli lancées par A restent alors actives...
J'aimerais savoir si ce "repliage" de session est un événement
détectable par un programme qui tourne... sous la session de A
Merci d'avance,
HB
bonjour,
avec Xp, un utilisateur A peut "replier sa session" et revenir à
l'écran d'accueil et permettre à un autre utilisateur B d'utiliser une
autre session. Les appli lancées par A restent alors actives...
J'aimerais savoir si ce "repliage" de session est un événement
détectable par un programme qui tourne... sous la session de A
Merci d'avance,
HB
ici: http://www.codeproject.com/system/logonsessions.asp
ici: http://www.codeproject.com/system/logonsessions.asp
ici: http://www.codeproject.com/system/logonsessions.asp
Trouvé ceci:
APIs for acquiring logon session information
The two APIs that allow for enumerating logon sessions and
retrieving
information of logon sessions are LsaEnumerateLogonSessions and
LsaGetLogonSessionData. Both of them are implemented in secur32.dll
and are officially documented for Windows XP. Upon successful
execution, LsaEnumerateLogonSessions returns an array of locally
unique IDs, or LUIDs, to the caller. A LUID is a 64-bit integer
value
that is issued by the system and that is guaranteed to be unique
until the system is rebooted. This means that no two logon sessions
can have the same LUID unless the computer is rebooted in between
creation of the two logon sessions. In order to retrieve information
about the individual logon sessions, you can iterate over the array
of LUIDs returned by LsaEnumerateLogonSessions and pass each LUID to
LsaGetLogonSessionData. Upon success, LsaGetLogonSessionData creates
a SECURITY_LOGON_SESSION_DATA struct for the caller. This struct
contains all necessary information about that particular logon
session, such as the LUID itself, user name and logon domain, the
authentication package used to authenticate the user, the logon type
(interactive, service, batch, or network style), the Terminal
Services session ID, the logon time, and the SID of the user under
whose auspices the logon session is running. One particularly nice
thing about these two APIs is that they also work on Windows 2000,
although they are only documented for XP.
ici: http://www.codeproject.com/system/logonsessions.asp
Trouvé ceci:
APIs for acquiring logon session information
The two APIs that allow for enumerating logon sessions and
retrieving
information of logon sessions are LsaEnumerateLogonSessions and
LsaGetLogonSessionData. Both of them are implemented in secur32.dll
and are officially documented for Windows XP. Upon successful
execution, LsaEnumerateLogonSessions returns an array of locally
unique IDs, or LUIDs, to the caller. A LUID is a 64-bit integer
value
that is issued by the system and that is guaranteed to be unique
until the system is rebooted. This means that no two logon sessions
can have the same LUID unless the computer is rebooted in between
creation of the two logon sessions. In order to retrieve information
about the individual logon sessions, you can iterate over the array
of LUIDs returned by LsaEnumerateLogonSessions and pass each LUID to
LsaGetLogonSessionData. Upon success, LsaGetLogonSessionData creates
a SECURITY_LOGON_SESSION_DATA struct for the caller. This struct
contains all necessary information about that particular logon
session, such as the LUID itself, user name and logon domain, the
authentication package used to authenticate the user, the logon type
(interactive, service, batch, or network style), the Terminal
Services session ID, the logon time, and the SID of the user under
whose auspices the logon session is running. One particularly nice
thing about these two APIs is that they also work on Windows 2000,
although they are only documented for XP.
ici: http://www.codeproject.com/system/logonsessions.asp
Trouvé ceci:
APIs for acquiring logon session information
The two APIs that allow for enumerating logon sessions and
retrieving
information of logon sessions are LsaEnumerateLogonSessions and
LsaGetLogonSessionData. Both of them are implemented in secur32.dll
and are officially documented for Windows XP. Upon successful
execution, LsaEnumerateLogonSessions returns an array of locally
unique IDs, or LUIDs, to the caller. A LUID is a 64-bit integer
value
that is issued by the system and that is guaranteed to be unique
until the system is rebooted. This means that no two logon sessions
can have the same LUID unless the computer is rebooted in between
creation of the two logon sessions. In order to retrieve information
about the individual logon sessions, you can iterate over the array
of LUIDs returned by LsaEnumerateLogonSessions and pass each LUID to
LsaGetLogonSessionData. Upon success, LsaGetLogonSessionData creates
a SECURITY_LOGON_SESSION_DATA struct for the caller. This struct
contains all necessary information about that particular logon
session, such as the LUID itself, user name and logon domain, the
authentication package used to authenticate the user, the logon type
(interactive, service, batch, or network style), the Terminal
Services session ID, the logon time, and the SID of the user under
whose auspices the logon session is running. One particularly nice
thing about these two APIs is that they also work on Windows 2000,
although they are only documented for XP.
ici: http://www.codeproject.com/system/logonsessions.asp
Dans le message %,
Clive Lumb a écrit :
Bonjour,
C'est très gentil mais je ne vois rien de nettement en rapport avec
mon pb.
Il faut dire que ce long article en anglais n'est pas facile à
comprendre pour le bidouilleur médiocre que je suis...
Lorque la session est "repliée" elle est considérée comme active, les
processus ( même explorer;exe ) continuent de tourner et la "fenetre
du bureau" garde le statut "visible"
( j'ai vérifié avec GetDesktopWindow et IsWindowsVivible dans un prgm
tournant sous une session "repliée")
donc je cherche toujour quelle est la fonction qui me donnera une
réponse signalement ce changement d'état ...
Dans le message %23mVrLR5NGHA.1124@TK2MSFTNGP10.phx.gbl,
Clive Lumb <clumb2@gratuit_en_anglais.fr.invalid> a écrit :
Bonjour,
C'est très gentil mais je ne vois rien de nettement en rapport avec
mon pb.
Il faut dire que ce long article en anglais n'est pas facile à
comprendre pour le bidouilleur médiocre que je suis...
Lorque la session est "repliée" elle est considérée comme active, les
processus ( même explorer;exe ) continuent de tourner et la "fenetre
du bureau" garde le statut "visible"
( j'ai vérifié avec GetDesktopWindow et IsWindowsVivible dans un prgm
tournant sous une session "repliée")
donc je cherche toujour quelle est la fonction qui me donnera une
réponse signalement ce changement d'état ...
Dans le message %,
Clive Lumb a écrit :
Bonjour,
C'est très gentil mais je ne vois rien de nettement en rapport avec
mon pb.
Il faut dire que ce long article en anglais n'est pas facile à
comprendre pour le bidouilleur médiocre que je suis...
Lorque la session est "repliée" elle est considérée comme active, les
processus ( même explorer;exe ) continuent de tourner et la "fenetre
du bureau" garde le statut "visible"
( j'ai vérifié avec GetDesktopWindow et IsWindowsVivible dans un prgm
tournant sous une session "repliée")
donc je cherche toujour quelle est la fonction qui me donnera une
réponse signalement ce changement d'état ...
Dans le message %,
Clive Lumb a écrit :
Bonjour,
C'est très gentil mais je ne vois rien de nettement en rapport avec
mon pb.
Il faut dire que ce long article en anglais n'est pas facile à
comprendre pour le bidouilleur médiocre que je suis...
Lorque la session est "repliée" elle est considérée comme active, les
processus ( même explorer;exe ) continuent de tourner et la "fenetre
du bureau" garde le statut "visible"
( j'ai vérifié avec GetDesktopWindow et IsWindowsVivible dans un prgm
tournant sous une session "repliée")
donc je cherche toujour quelle est la fonction qui me donnera une
réponse signalement ce changement d'état ...
A+
HB
> Trouvé ceci:
> APIs for acquiring logon session information
> The two APIs that allow for enumerating logon sessions and
> retrieving
> information of logon sessions are LsaEnumerateLogonSessions and
> LsaGetLogonSessionData. Both of them are implemented in secur32.dll
> and are officially documented for Windows XP. Upon successful
> execution, LsaEnumerateLogonSessions returns an array of locally
> unique IDs, or LUIDs, to the caller. A LUID is a 64-bit integer
> value
> that is issued by the system and that is guaranteed to be unique
> until the system is rebooted. This means that no two logon sessions
> can have the same LUID unless the computer is rebooted in between
> creation of the two logon sessions. In order to retrieve information
> about the individual logon sessions, you can iterate over the array
> of LUIDs returned by LsaEnumerateLogonSessions and pass each LUID to
> LsaGetLogonSessionData. Upon success, LsaGetLogonSessionData creates
> a SECURITY_LOGON_SESSION_DATA struct for the caller. This struct
> contains all necessary information about that particular logon
> session, such as the LUID itself, user name and logon domain, the
> authentication package used to authenticate the user, the logon type
> (interactive, service, batch, or network style), the Terminal
> Services session ID, the logon time, and the SID of the user under
> whose auspices the logon session is running. One particularly nice
> thing about these two APIs is that they also work on Windows 2000,
> although they are only documented for XP.
>
>
>
> ici: http://www.codeproject.com/system/logonsessions.asp
Dans le message %23mVrLR5NGHA.1124@TK2MSFTNGP10.phx.gbl,
Clive Lumb <clumb2@gratuit_en_anglais.fr.invalid> a écrit :
Bonjour,
C'est très gentil mais je ne vois rien de nettement en rapport avec
mon pb.
Il faut dire que ce long article en anglais n'est pas facile à
comprendre pour le bidouilleur médiocre que je suis...
Lorque la session est "repliée" elle est considérée comme active, les
processus ( même explorer;exe ) continuent de tourner et la "fenetre
du bureau" garde le statut "visible"
( j'ai vérifié avec GetDesktopWindow et IsWindowsVivible dans un prgm
tournant sous une session "repliée")
donc je cherche toujour quelle est la fonction qui me donnera une
réponse signalement ce changement d'état ...
A+
HB
> Trouvé ceci:
> APIs for acquiring logon session information
> The two APIs that allow for enumerating logon sessions and
> retrieving
> information of logon sessions are LsaEnumerateLogonSessions and
> LsaGetLogonSessionData. Both of them are implemented in secur32.dll
> and are officially documented for Windows XP. Upon successful
> execution, LsaEnumerateLogonSessions returns an array of locally
> unique IDs, or LUIDs, to the caller. A LUID is a 64-bit integer
> value
> that is issued by the system and that is guaranteed to be unique
> until the system is rebooted. This means that no two logon sessions
> can have the same LUID unless the computer is rebooted in between
> creation of the two logon sessions. In order to retrieve information
> about the individual logon sessions, you can iterate over the array
> of LUIDs returned by LsaEnumerateLogonSessions and pass each LUID to
> LsaGetLogonSessionData. Upon success, LsaGetLogonSessionData creates
> a SECURITY_LOGON_SESSION_DATA struct for the caller. This struct
> contains all necessary information about that particular logon
> session, such as the LUID itself, user name and logon domain, the
> authentication package used to authenticate the user, the logon type
> (interactive, service, batch, or network style), the Terminal
> Services session ID, the logon time, and the SID of the user under
> whose auspices the logon session is running. One particularly nice
> thing about these two APIs is that they also work on Windows 2000,
> although they are only documented for XP.
>
>
>
> ici: http://www.codeproject.com/system/logonsessions.asp
Dans le message %,
Clive Lumb a écrit :
Bonjour,
C'est très gentil mais je ne vois rien de nettement en rapport avec
mon pb.
Il faut dire que ce long article en anglais n'est pas facile à
comprendre pour le bidouilleur médiocre que je suis...
Lorque la session est "repliée" elle est considérée comme active, les
processus ( même explorer;exe ) continuent de tourner et la "fenetre
du bureau" garde le statut "visible"
( j'ai vérifié avec GetDesktopWindow et IsWindowsVivible dans un prgm
tournant sous une session "repliée")
donc je cherche toujour quelle est la fonction qui me donnera une
réponse signalement ce changement d'état ...
A+
HB
> Trouvé ceci:
> APIs for acquiring logon session information
> The two APIs that allow for enumerating logon sessions and
> retrieving
> information of logon sessions are LsaEnumerateLogonSessions and
> LsaGetLogonSessionData. Both of them are implemented in secur32.dll
> and are officially documented for Windows XP. Upon successful
> execution, LsaEnumerateLogonSessions returns an array of locally
> unique IDs, or LUIDs, to the caller. A LUID is a 64-bit integer
> value
> that is issued by the system and that is guaranteed to be unique
> until the system is rebooted. This means that no two logon sessions
> can have the same LUID unless the computer is rebooted in between
> creation of the two logon sessions. In order to retrieve information
> about the individual logon sessions, you can iterate over the array
> of LUIDs returned by LsaEnumerateLogonSessions and pass each LUID to
> LsaGetLogonSessionData. Upon success, LsaGetLogonSessionData creates
> a SECURITY_LOGON_SESSION_DATA struct for the caller. This struct
> contains all necessary information about that particular logon
> session, such as the LUID itself, user name and logon domain, the
> authentication package used to authenticate the user, the logon type
> (interactive, service, batch, or network style), the Terminal
> Services session ID, the logon time, and the SID of the user under
> whose auspices the logon session is running. One particularly nice
> thing about these two APIs is that they also work on Windows 2000,
> although they are only documented for XP.
>
>
>
> ici: http://www.codeproject.com/system/logonsessions.asp
Salut ;O)
En suivant les infos de Clive Lumb, vois ici :
http://www.pellesoft.se/communicate/tips/tips.aspx?tid84
P.S: Il faudra aller sur le site vbaccelerator à
http://www.vbaccelerator.com/home/VB/Code/Libraries/Subclassing/SSubTimer/VB6_SSubTmr_Binary.asp
pour télécharger un petit truc et l'enregistrer pour faire fonctionner
l'exemple.
Salut ;O)
En suivant les infos de Clive Lumb, vois ici :
http://www.pellesoft.se/communicate/tips/tips.aspx?tid84
P.S: Il faudra aller sur le site vbaccelerator à
http://www.vbaccelerator.com/home/VB/Code/Libraries/Subclassing/SSubTimer/VB6_SSubTmr_Binary.asp
pour télécharger un petit truc et l'enregistrer pour faire fonctionner
l'exemple.
Salut ;O)
En suivant les infos de Clive Lumb, vois ici :
http://www.pellesoft.se/communicate/tips/tips.aspx?tid84
P.S: Il faudra aller sur le site vbaccelerator à
http://www.vbaccelerator.com/home/VB/Code/Libraries/Subclassing/SSubTimer/VB6_SSubTmr_Binary.asp
pour télécharger un petit truc et l'enregistrer pour faire fonctionner
l'exemple.
Seul défaut :
lors de la sortie ( sub Fin )
la détection d'erreur
provoque l'affichage du message "Opération réussie"
qui provient de MsgBox (GetError(Err.LastDllError))
Cela signifie que le test
If Not WTSUnRegisterSessionNotification(Me.hwnd)
n'est pas fiable :o)
donc pour la suite il faut "affiner" la detection d'erreur en
sortie...
en éliminant le N° d'erreur qui correspond à la réussite.
Seul défaut :
lors de la sortie ( sub Fin )
la détection d'erreur
provoque l'affichage du message "Opération réussie"
qui provient de MsgBox (GetError(Err.LastDllError))
Cela signifie que le test
If Not WTSUnRegisterSessionNotification(Me.hwnd)
n'est pas fiable :o)
donc pour la suite il faut "affiner" la detection d'erreur en
sortie...
en éliminant le N° d'erreur qui correspond à la réussite.
Seul défaut :
lors de la sortie ( sub Fin )
la détection d'erreur
provoque l'affichage du message "Opération réussie"
qui provient de MsgBox (GetError(Err.LastDllError))
Cela signifie que le test
If Not WTSUnRegisterSessionNotification(Me.hwnd)
n'est pas fiable :o)
donc pour la suite il faut "affiner" la detection d'erreur en
sortie...
en éliminant le N° d'erreur qui correspond à la réussite.
Est-ce que l'erreur arrive aussi en version compilée ?
Car le sub-classing et l'IDE...
Est-ce que l'erreur arrive aussi en version compilée ?
Car le sub-classing et l'IDE...
Est-ce que l'erreur arrive aussi en version compilée ?
Car le sub-classing et l'IDE...