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++/CLI Discussion :

Propri�taire d'un processus sous Windows


Sujet :

C++/CLI

  1. #1
    Membre �clair� Avatar de trax44
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    300
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 300
    Par d�faut Propri�taire d'un processus sous Windows
    Bonjour,

    Je cherche � obtenir le propri�taire d'un processus, en passant par l'api WMI sous windows.

    J'ai cru comprendre qu'il fallait utiliser la fonction GetOwner
    http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

    Mais je n'arrive pas y avoir acc�s directement (une fonction oui mais sur quel objet ?)

    Je suis donc pass� par le serveur d'ex�cution via la fonction ExecMethod
    http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

    Et je suis finalement arriv� � avoir un code d'erreur qui existe dans la doc : WBEM_E_INVALID_METHOD_PARAMETERS


    J'effectue ma connexion au serveur via le Namespace "ROOT\\CIMV2"
    Puis je lance ma requ�te qui passe fonctionne sans probl�me :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
        hres = pSvc->ExecQuery(bstr_t("WQL"), 
    			   bstr_t("SELECT * FROM Win32_Process WHERE Name = \"bash.exe\""),
    			   WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, 
    			   NULL,
    			   pEnumerator);
    Et la c'est le drame :

    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
     
     
        IWbemClassObject *classObj;
        IWbemCallResult *callRes;
        BSTR Text;
     
    /* renvoie un code d'erreur non defini dans la doc : 0xc0000005*/    
    /*    hr = pSvc->ExecMethod(_bstr_t(L"ROOT\\CIMV2"), L"GetOwner", 
    			   0, NULL, NULL, 
    			   &classObj, &callRes);*/
     
    /* renvoie un code d'erreur WBEM_E_INVALID_METHOD_PARAMETERS */    
        hr = pSvc->ExecMethod(L"Win32_Process", L"GetOwnerSid", 
    			   0, NULL, NULL, 
    			   NULL, NULL);
    Et je commence un peu � �tre � cours d'id�es � tester

    Plate forme : Windows server 2003 R2
    compilo : MVSC 2010
    Je ne suis absolument pas un expert windows

  2. #2
    Membre �prouv�
    Avatar de TheGzD
    Homme Profil pro
    Ing�nieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Puy de D�me (Auvergne)

    Informations professionnelles :
    Activit� : Ing�nieur/ Docteur en Informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par d�faut
    Je suis donc pass� par le serveur d'ex�cution via la fonction ExecMethod
    tu ferais mieux de calquer sur les exemples fournis avec le premier lien que tu as donn�

  3. #3
    Membre �clair� Avatar de trax44
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    300
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 300
    Par d�faut
    1 Le premier lien renvoie vers la page de la doc de la class Win32_Process, je n'ai pas de probl�me � faire une requ�te WMI dans cette class

    2 Le deuxi�me lien aurait pu m'aider si il �tait dans le bon langage

    3 Oui j'ai d�j� essay� de "calquer" tous les exemples que j'ai trouv�, sans quoi je n'aurais pas poster de demande ici

  4. #4
    Membre �prouv�
    Avatar de TheGzD
    Homme Profil pro
    Ing�nieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Puy de D�me (Auvergne)

    Informations professionnelles :
    Activit� : Ing�nieur/ Docteur en Informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par d�faut
    1 Le premier lien renvoie vers la page de la doc de la class Win32_Process, je n'ai pas de probl�me � faire une requ�te WMI dans cette class
    perso j'y ai trouv� les exemples suivants :
    Examples

    For script code examples, see WMI Tasks for Scripts and Applications and the TechNet ScriptCenter Script Repository.
    For C++ code examples, see WMI C++ Application Examples.
    The following VBScript code example obtains the owner for each running process.

    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
    strComputer = "."
    Set colProcesses = GetObject("winmgmts:" & _
       "{impersonationLevel=impersonate}!\\" & strComputer & _
       "\root\cimv2").ExecQuery("Select * from Win32_Process")
     
    For Each objProcess in colProcesses
     
        Return = objProcess.GetOwner(strNameOfUser)
        If Return <> 0 Then
            Wscript.Echo "Could not get owner info for process " & _  
                objProcess.Name & VBNewLine _
                & "Error = " & Return
        Else 
            Wscript.Echo "Process " _
                & objProcess.Name & " is owned by " _ 
                & "\" & strNameOfUser & "."
        End If
    Next
    n'est-ce pas suffisant ?
    Soit tu fais le portage de ce code VB (pas super dur � mon avis).
    Soit tu vas regarder les exemples C++ (apr�s je ne suis pas r�ellement s�r que tu y vois d'exemple de la fonction qui t'int�resse) dont il y a les liens.

    2 Le deuxi�me lien aurait pu m'aider si il �tait dans le bon langage
    non mais ExecMethod, comme j'avais essay� de te le dire dans mon pr�c�dent post, c'est compl�tement hors sujet

Discussions similaires

  1. R�ponses: 3
    Dernier message: 03/04/2008, 19h00
  2. Comment intercepter les messages d'un processus sous windows?
    Par Hamdi Hedhili dans le forum G�n�ral Java
    R�ponses: 3
    Dernier message: 17/03/2008, 16h57
  3. Gestion de Processus sous Windows
    Par m.david dans le forum Threads & Processus
    R�ponses: 11
    Dernier message: 21/10/2007, 23h33
  4. R�ponses: 9
    Dernier message: 21/12/2005, 17h33
  5. [Système]communiquer avec un processus externe sous windows
    Par tweety dans le forum G�n�ral Java
    R�ponses: 4
    Dernier message: 14/11/2005, 17h17

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