IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Détection ouverture de session Windows


Sujet :

MFC

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Détection ouverture de session Windows
    Bonjour,

    J'ai développé un programme avec visual C++ qui se lance au démarrage du PC par un service. Via ce programme, je souhaiterai détecter l'ouverture d'une session sur le PC et ramener le nom de l'utilisateur qui se connecte. Si j'utilise ::GetuserName(...) je récupère tout le temps l'utilisateur "system" à savoir celui qui a lancé le programme.

    Merci

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 5
    Points : 2
    Points
    2
    Par défaut [Non résolu] Détection Ouverture de Session Windows
    Salut,

    J'ai toujours la même réponse avec le code que tu m'as indiqué. Je récupère toujours l'utilisateur SYSTEM qui est le créateur du processus au lieu d'avoir le nom de l'utilisateur connecté à la session en cours.
    Avez vous d'autres idées

    Merci

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    hum peut etre que tu devrais changer de methode ,
    il y a des emplacement specifiques dans la base de registre pour lancer un programme au debut de la session .
    http://c.developpez.com/faq/vc/?page...#RunProgAtOnce
    pour lancer un programme une seule fois c'est la clef RunOnce.

  5. #5
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    salut, tu as essayé avec NetWkstaUserGetInfo(...) ?

  6. #6
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    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
       DWORD dwLevel = 1;
       LPWKSTA_USER_INFO_1 pBuf = NULL;
       NET_API_STATUS nStatus;
       nStatus = NetWkstaUserGetInfo(NULL,dwLevel,(LPBYTE *)&pBuf);
       char nomUser[200] = {0};
       if (nStatus == NERR_Success)
       {
          if (pBuf != NULL)
    		  wcstombs(nomUser, (LPWSTR)pBuf->wkui1_username, wcslen((LPWSTR)pBuf->wkui1_username));
       }
       else
          return 1; // erreur
       if (pBuf != NULL)
          NetApiBufferFree(pBuf);
     
       MessageBox(NULL,nomUser,"",0x10);

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 5
    Points : 2
    Points
    2
    Par défaut toujours pas de solutions :-((((
    Re-salut


    =>farscape, mon appli doit démarrer au lancement du PC et non au lancement d'une session.

    =>nico-pyright, avec cette méthode je récupère des caractères bidons mais pas l'utilisateur connecté.

    Si vous avez d'autres idées je suis preneur car la

    En cas merci pour les propositions

  8. #8
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut Re: toujours pas de solutions :-((((
    Citation Envoyé par Atao_29
    =>nico-pyright, avec cette méthode je récupère des caractères bidons mais pas l'utilisateur connecté.
    Bizarre, cela marche bien chez moi (quelqu'un pour confirmer / infirmer ?)
    Passe-t-il dans le cas de l'erreur ?

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    =>nico-pyright,

    le code que tu m'as filé marche effectivement très bien si tu lances depuis une session mais si c'est un service qui le lance je ne récupère pas le nom?????????????

  10. #10
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 667
    Points
    10 667
    Billets dans le blog
    3
    Par défaut
    Je sais pas, mais vu que son service n'est pas exécuté sous le compte de l'utilisateur mais par SYSTEM je trouve ça plutôt normal. Par contre je sais pas comment être averti d'une connexion...
    Y'aurait cette piste:
    http://www.osronline.com/lists_archive/ntdev/thread6715.html
    http://www.sysinternals.com/ntw2k/source/tokenmon.shtml
    mais ça attaque fort (DDK...)
    Sinon faire de la recherche active (pas top mais à défaut de mieux...)
    http://www.thecodeproject.com/system/logonsessions.asp

Discussions similaires

  1. Ouverture de session windows
    Par shenron666 dans le forum Windows
    Réponses: 4
    Dernier message: 30/09/2010, 15h07
  2. Ouverture de session windows XP
    Par sokai dans le forum VBScript
    Réponses: 0
    Dernier message: 24/12/2009, 08h44
  3. Ouverture de session Windows
    Par sokai dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 24/12/2009, 08h42
  4. Erreur ouverture de session windows
    Par zulot dans le forum Windows XP
    Réponses: 4
    Dernier message: 04/07/2009, 00h09
  5. Temps écoulé après ouverture de session windows
    Par kasjacques dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 02/12/2005, 08h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo