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

Delphi Discussion :

[WMI]Problème de connexion


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 2
    Par défaut [WMI]Problème de connexion
    Bonjour,

    Je tente de réaliser via WMI un programme qui me donnerait le login windows de l'utilisateur en cours.

    Voici mon code :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    Var
      WMILocator: TSWbemLocator;
      WMIService: SWbemServices;
      WMIObjectSet: SWbemObjectSet;
      WMIObject: SWbemObject;
     
      WmiProperty: SWbemProperty;
      WmiPropertySet: SWbemPropertySet;
     
      PropertyEnumerator, ObjectEnumerator: IEnumVariant;
      ArrayVariant: OleVariant;
     
      OldCursor: TCursor;
     
      NumberItem: LongWord;
      // userName, domain: string;
     
    begin
      Try
        try
         WMILocator:= TSWbemLocator.Create(nil);
         WmiService:= WMILocator.ConnectServer('.', 'root\CIMV2','','','','', wbemConnectFlagUseMaxWait, nil);
         WmiObjectSet := WMIService.InstancesOf('Win32_ComputerSystem' , wbemFlagReturnWhenComplete, Nil);
     
         ObjectEnumerator:= (WmiObjectSet._NewEnum) as IEnumVariant;
     
         while (ObjectEnumerator.Next(1, ArrayVariant, NumberItem) = S_OK) do
         begin
           WmiObject := IUnknown(ArrayVariant) as SWBemObject;
           WmiPropertySet:= WmiObject.Properties_;
           PropertyEnumerator:= (WmiPropertySet._NewEnum) as IEnumVariant;
     
           while (PropertyEnumerator.Next(1, ArrayVariant, NumberItem) = S_OK) do
           begin
             WmiProperty := IUnknown(ArrayVariant) as SWBemProperty;
             If WmiProperty.name='UserName' then
              Memo1.Lines.Add(WmiProperty.Get_Value);
           end;
         End;
     
        except
         Memo1.Lines.Add('*** Echec de l''exécution de la requête WMI!!!');
        end;
      Finally
        WMILocator.Disconnect; WMILocator.Free;
      end;
    end;
    Ce code marche parfaitement sous XP mais sous windows 2000 j'ai le message de mon except dans mon memo, je ne vois pas d'où ca pourrais venir. Les tests sous windows 2000 sont réalisé sur le sp4.

    Merci de l'aide.

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 2
    Par défaut
    J'ai trouvé, ca venais tout bêtement du fait que windows 2000 n'a pas le même wbemdisp.tlb qu'XP et qu'il ne connais pas le wbemFlagReturnWhenComplete, j'ai donc remplacé le flag par 0 et ca fonctionnait sur les deux OS. Maintenant a savoir si 0 est une bonne valeur de à la place de wbemFlagReturnWhenComplete...

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

Discussions similaires

  1. Problème de connexion WMI avec Windows XP
    Par Against Me! dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 24/05/2005, 09h28
  2. [ Oracle 9ias / 10g] problème de connexion
    Par Boosters dans le forum JDeveloper
    Réponses: 2
    Dernier message: 20/01/2004, 17h23
  3. Problème de connexion au serveur MYSQL
    Par ETOKA dans le forum Outils
    Réponses: 2
    Dernier message: 27/11/2003, 09h28
  4. Réponses: 11
    Dernier message: 13/10/2003, 14h48
  5. problème de connexion 2 PC
    Par guitalca dans le forum Développement
    Réponses: 3
    Dernier message: 22/09/2003, 14h04

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