Récupérer user session windows mais....

Signaler
Messages postés
13
Date d'inscription
samedi 25 novembre 2006
Statut
Membre
Dernière intervention
5 juin 2010
-
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
-
Bonjour
dans un .exe je récupére le user de la session avec GetUserName

mais lorsque je lance cet .exe sous l'administrateur TOTO ( exécuter en tant que )le GEtUserName récupére TOTO

y a t-il une API ou autre qui lorsque je lance le .exe en tant que TOTO (clique droit puisexécuter en tant que) je récupère le user qui a ouvert la session windows et non pas le user qui a lancé le .exe


Merci pour votre aide

8 réponses

Messages postés
303
Date d'inscription
mercredi 12 janvier 2005
Statut
Membre
Dernière intervention
3 octobre 2013
1
Bonjour

Peut-être en utilisant(en vba) :
a= environ("username")

Bonne journée
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
Tu peux aussi regarder à qui appartient explorer.exe

---
VB.NET is good ... VB6 is better
Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
10
Bonjour,

Regarde GetUserName ou GetUserNameEx


Calade
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
GetUserName retourne le nom de l'utilisateur qui a lancé l'exécutable ...

---
VB.NET is good ... VB6 is better
Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
10
Bonjour,

(Extrait de MSDN): The GetUserName function retrieves the user name of the current thread. This is the name of the user currently logged onto the system.

La 2ème partie de la phrase me laisse à penser qu'il s'agit aussi du nom de l'utilisateur loggé à Windows (mais je peux me tromper, mon anglais n'étant pas parfait).

Calade
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
Selon la doc, j'aurais j'ai tort. Mais en pratique, si tu fais clic droit = > Exécuter en tant que , tu t'aperçois que GetUserName retourne le nom du propriétaire du thread en cours.
Pour t'en convaincre : [list]
[*] Télécharge WhoAmI de Alex Nolan et colle-le sur ton bureau.
[*] Clique droit => Créer un raccourci.
[*] Clique droit sur ce raccourci = > Propriétés => dans le premier champ, ajoute au début "cmd /k " (sans les guillemets) et fais Enter.
[*] De nouveau, clique droit => Exécuter en tant que ... => Choisis la 2ème bulle et choisis un autre utilisateur que le celui que tu utilises.
[*] Le nom de l'utilisateur impersonné se trouve près de Login Name.
/list---
VB.NET is good ... VB6 is better
Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
10
Merci ghuysmans99 de ces précisions. Je ne pouvais pas m'en apercevoir puisque je n'utilises pas Vista mais ce bon vieil XP.


Calade
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
Je suis aussi resté à XP, et j'ai testé et GetUserName retourne le nom du proprio tu thread qui l'appelle.

---
VB.NET is good ... VB6 is better