Problème pour la récupération du Username

deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 - 9 juin 2012 à 11:56
darkbatcher Messages postés 5 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 15 juin 2012 - 15 juin 2012 à 10:35
Yop à tous,

Voila, j'ai ce problème que je n'arrive pas récupérer le username de la personne loggé sur la machine. Je m'explique,

Mon application doit se lancer en mode administrateur c'est obligatoire. Hors le username dont j'ai besoin est celui de la personne effectivement loggé.
Donc lorsque j'utilise la méthode GetUserName , comme mon programme se déroule dans le contexte d'administrateur, c'est donc le username administrateur que je récupère et non celui de la personne effectivement logguée.

Cela me pose un sacré problème. J'ai esseyé pas mal de chose comme un shellexecute d'un petit programme qui ne fait que récupérer le username et le transmet à l'application principale. Mais ce petit programme qui est lancé via mon appli du coup travail aussi dans le contexte administrateur :s .

Donc voila si quelqu'un peut m'aider. Ca doit être possible tout de même. Je pense que pas mal d'appli sont dans se cas.

Merci d'avance pour votre aide.

++

deck_bsd

/*************************************/
http://deck-bsd.eurower.net

3 réponses

deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
9 juin 2012 à 12:00
Zut, je n'ai pas pensé à la variable d'env %username%

Je teste ça :)

++

deck_bsd

/*************************************/
http://deck-bsd.eurower.net
0
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
9 juin 2012 à 17:09
Non cela ne fonctionne pas non plus.

++

deck_bsd

/*************************************/
http://deck-bsd.eurower.net
0
darkbatcher Messages postés 5 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 15 juin 2012
15 juin 2012 à 10:35
Hello !

si en principe ça doit marcher pour avec la valeur username
#include <windows.h>

char lpUserName[MAX_PATH];
GetEnvironmentVariable("USERNAME", lpUserName, MAX_PATH);


ou sinon (en standart)
#include <stdio.h>
#include <stdlib.h>

char* lpUserName;
lpUserName=getenv("USERNAME"); // attention, il ne faut pas modifier la chaine retournée


@+
0
Rejoignez-nous