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

C++Builder Discussion :

Detecter le login d'un utilisateur


Sujet :

C++Builder

  1. #1
    Membre actif Avatar de declencher
    Inscrit en
    Mai 2003
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 441
    Points : 251
    Points
    251
    Par défaut [RESOLU] Detecter le login d'un utilisateur
    lut,

    J'ai développé un service qui se lance automatiquement au boot du pc.
    Dans ce service j'aimerai avoir une routine qui scrute en permanence si un utilisateur a ouvert une session windows ou non (pour permettre ou non la création d'un fenêtre).
    :
    J'ai essayé la fonction GetUserName mais elle me retourne le nom SYSTEM, je suppose que c'est normal puisque c'est le système le propriétaire du processus.

    pliz... une idée ?

  2. #2
    Membre habitué
    Homme Profil pro
    Chercheur génie électrique
    Inscrit en
    Mai 2002
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur génie électrique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 263
    Points : 136
    Points
    136
    Par défaut
    Essayez ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
      char    ThisHostName[255];
      AnsiString hostIP;
     
      wVersionRequested = MAKEWORD( 2, 0 );
      if ( WSAStartup( wVersionRequested, &wsaData ) == 0 )
      {
        if( gethostname (ThisHostName, sizeof(ThisHostName)) == 0)
        if((hostinfo = gethostbyname(ThisHostName)) != NULL)
        hostIP = inet_ntoa (*(in_addr *)*hostinfo->h_addr_list);
        WSACleanup( );
      }
    Xavier


    [Modération, Alacazam : Prière d'utiliser la balise [CODE] qui améliore nettement la lisibilité, merci]

  3. #3
    Membre actif Avatar de declencher
    Inscrit en
    Mai 2003
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 441
    Points : 251
    Points
    251
    Par défaut
    Super merci.
    Je ne sais pas d'où tu nous sort ça, je ne l'aurai pas inventé en tout cas.

    :o thx :o

  4. #4
    Membre actif Avatar de declencher
    Inscrit en
    Mai 2003
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 441
    Points : 251
    Points
    251
    Par défaut
    J'ai parlé trop vite

    En fait ça marche bien ce que tu as dit et un MessageBox s'affiche sans pb lors de l'ouverture de la session. Mais le pb c'est que je veux mettre une icone dans la systray donc il faudrait pouvoir attendre que la session soit ouverte pour créer une instance de Form et l'icone associé.

    J'ai mis un sleep de 10 s pour remplacer la MessageBox (qui arrêté l'éxécution jusqu'au clique sur OK) l'histoire d'attendre le chargement de la session mais rien à faire, ça ne fonctionne pas.

    Donc c'est reparti pour de recherche.

  5. #5
    Membre actif Avatar de declencher
    Inscrit en
    Mai 2003
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 441
    Points : 251
    Points
    251
    Par défaut
    :o Suffit de vérifier le handle de la barre des tâches.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Récup du nom de login
    Salut,
    En plus simple, une fonction équivalente, tirée de l'api du Database Engine.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     DBIUSERNAME SZnom      = "\0";                  // -- user name
     //
     if (DbiGetNetUserName (SZnom) == DBIERR_NONE)
     {  //
        // -- très rarement mais il arrive que ca ramene un nom vide !!
        if (SZnom [0] != '\0')
        {  //
           // -- travaux divers
        }
     }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#] Comment récupérer le login de l'utilisateur courant ?
    Par pocket dans le forum Windows Forms
    Réponses: 1
    Dernier message: 17/07/2006, 16h43
  2. Réponses: 1
    Dernier message: 28/02/2006, 13h46
  3. Récupérer le login de mes utilisateurs
    Par priest69 dans le forum ASP
    Réponses: 8
    Dernier message: 22/12/2005, 08h56
  4. [LDAP] récupération login de l'utilisateur via Active Directory
    Par kcizth dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 21/12/2005, 16h47
  5. [C#] login de l'utilisateur connecté
    Par mbibim63 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 19/10/2005, 17h49

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