begin process at 2012 02 17 10:28:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

General

 > 

[HELP] Utilisation de WMI en VB.Net ??


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[HELP] Utilisation de WMI en VB.Net ??

mercredi 25 mars 2009 à 13:06:27 | [HELP] Utilisation de WMI en VB.Net ??

violent_ken

Membre Club
Salut ! Je cherche à pouvoir récupérer la liste des modules d'un processus via WMI. En VB6, on peut faire comme cela : Set files = objHost.wmiConnexion.ReferencesTo(process.Path_.path, "CIM_ProcessExecutable") For Each itemFile In files Set aFile = objHost.wmiConnexion.Get(itemFile.Antecedent) Next En VB.Net c'est complètement différente, on utile l'espace de nom Management : Dim colProcesses As Management.ManagementObjectSearcher Dim colObserver As New Management.ManagementOperationObserver Dim refProcess As Management.ManagementObject Dim con As New ConnectionOptions con.Username = Nothing con.Password = Nothing con.Impersonation = ImpersonationLevel.Impersonate colProcesses = New Management.ManagementObjectSearcher("SELECT * FROM Win32_Process") colProcesses.Scope = New Management.ManagementScope("\\" & Server & "\root\cimv2", con) For Each refProcess In colProcesses.Get Console.WriteLine(refProcess.GetPropertyValue("Name")) Dim colModule As ManagementObjectCollection = refProcess.GetRelationships("CIM_ProcessExecutable") For Each refModule As ManagementObject In colModule Dim oo As Object = refModule.GetPropertyValue("Antecedent") Console.WriteLine(oo) Next Next Le seul problème c'est que GetPropertyValue("Antecedent"), même si çà renvoie bien le module, renvoie une string alors que moi j'ai besoin d'un ManagementObject (classe CIM_ProcessExecutable). Auriez vous une idée SVP ? Merci @+
mercredi 25 mars 2009 à 13:10:02 | Re : [HELP] Utilisation de WMI en VB.Net ??

violent_ken

Membre Club
Pffff.... IE8 m'a fait n'importe quoi comme mise en page....
mercredi 25 mars 2009 à 13:14:13 | Re : [HELP] Utilisation de WMI en VB.Net ??

violent_ken

Membre Club
Salut !

Je cherche à pouvoir récupérer la liste des modules d'un processus via WMI.

En VB6, on peut faire comme cela :

Set files = objHost.wmiConnexion.ReferencesTo(process.Path_.path, "CIM_ProcessExecutable")
For Each itemFile In files
Set aFile = objHost.wmiConnexion.Get(itemFile.Antecedent)
Next


En VB.Net c'est complètement différente, on utile l'espace de nom Management :

Dim colProcesses As Management.ManagementObjectSearcher
Dim colObserver As New Management.ManagementOperationObserver
Dim refProcess As Management.ManagementObject
Dim con As New ConnectionOptions
con.Username = Nothing
con.Password = Nothing
con.Impersonation = ImpersonationLevel.Impersonate
colProcesses = New Management.ManagementObjectSearcher("SELECT * FROM Win32_Process")
colProcesses.Scope = New Management.ManagementScope("\\" & Server & "\root\cimv2", con)
For Each refProcess In colProcesses.Get
Console.WriteLine(refProcess.GetPropertyValue("Name"))
Dim colModule As ManagementObjectCollection = refProcess.GetRelationships("CIM_ProcessExecutable")
For Each refModule As ManagementObject In colModule
Dim oo As Object = refModule.GetPropertyValue("Antecedent")
Console.WriteLine(oo)
Next
Next


Le seul problème c'est que GetPropertyValue("Antecedent"), même si çà renvoie bien le module, renvoie une string alors que moi j'ai besoin d'un ManagementObject (classe CIM_ProcessExecutable).


Auriez vous une idée SVP ?

Merci
@+
mercredi 25 mars 2009 à 14:39:19 | Re : [HELP] Utilisation de WMI en VB.Net ??

Genildf

Tu est surement plus doué que moi en VB ( je pense)

Mais pourquoi tu utilise pas l'outil process dans VBNET?

For Each proc In Process.GetProcesses
            If proc.ProcessName = "ton process" Then
                Process1 = proc
            End If

Ou alors g rien compris ^^



mercredi 25 mars 2009 à 15:18:32 | Re : [HELP] Utilisation de WMI en VB.Net ??

violent_ken

Membre Club
Salut,

malheureusement, si la classe Process permet de lister les processus des postes distants, elle n'offre aucune action dessus (kill impossible, liste des modules impossible...etc.)

@+
mercredi 25 mars 2009 à 15:29:17 | Re : [HELP] Utilisation de WMI en VB.Net ??

Genildf

Justement avec process1 (un objet que tu met dans ta boite a outils dans  les composants)

  For Each proc In Process.GetProcesses
            If proc.ProcessName = "ton process" Then
                Process1 = proc
              
            End If
        Next

Process1.Modules

J'arrive meme a killer avec

Process1.Modules te revoit les modules associé
mercredi 25 mars 2009 à 15:44:24 | Re : [HELP] Utilisation de WMI en VB.Net ??

violent_ken

Membre Club
Oui, en local. Mais sur une machine distance ce n'est pas possible (quand tu fais .GetProcesses("REMOTE_MACHINE_NAME")).

@+
mercredi 25 mars 2009 à 15:56:06 | Re : [HELP] Utilisation de WMI en VB.Net ??

Genildf

Réponse acceptée !
Ah oki dsl j'auré essayé ^^

bon courage


mercredi 25 mars 2009 à 17:52:46 | Re : [HELP] Utilisation de WMI en VB.Net ??

lesdis

Réponse acceptée !
Bonjour,

Regarde du côté des classes WqlEventQuery et WqlObjectQuery.
Cela permet de faire des requêtes WMI au format WQL.

Bonne Prog
mercredi 25 mars 2009 à 17:54:19 | Re : [HELP] Utilisation de WMI en VB.Net ??

violent_ken

Membre Club
Réponse acceptée !
C'est pas grave :-) En plus je viens de trouver par hasard la solution ^^

Si quelqu'un en a besoin je la mets au cas où : il faut utiliser GetRelated("CIM_DataFile").

@+

1 2

Cette discussion est classée dans : con, wmi, management, colprocesses, refprocess


Répondre à ce message

Sujets en rapport avec ce message

WMI - Accès refusé [ par flopad ] Bonjour, Je suis en train de faire un prog qui me liste les processus lancés sur une machine distante;Voici un extrait de mon code ; mon prog bloque à connexion au wmi de pc distant [ par tasstoussa ] c est un code en vb.net (Vb 2005) qui permet la connexion au wmi d'un pc distant, mais il m'affiche une exeption "invalide parametre" SVP qui peut m' rs.update [ par Sinsitrus ] Salut ! J'ai un soucis au niveau de l'update voici mon code : [code=vb]Dim Con As New ADODB.Connection Dim rs As New ADODB.Recordset Dim requete As Bizarrerie WMI ! [ par cousin9999 ] Salutation, J'ai fait un petit script pour faire l'inventaire d'un certain nombre de fichier (exe, ocx, dll, etc.) dans un répertoire donné. Pour c Erreu de syntaxe dans l'instruction INSERT INTO [ par Abdelkoudouss ] ReBonjour Je demande votre aide concernant une erreur dans un insert into. Ca vous parait déplacé de mettre ce sujet ici mais personnelement je ne vo Filtre d'un Combobox en fonction d'un autre Combobox [ par Abdelkoudouss ] Bonjour, je bloke les gars je blooke bon voila mon problème : j'ai une form ou j'ai plusieurs contrôles y compris 2 combobox; combo1 et combo2. le co Pb d'enregistrement dans une table !! [ par kaoutar90 ] Bonjour !! SVP je voudrai ajouter un enregistrement dans une table mais je trouve toujours un problème je le sais pas Veuillez m'aidez SVP ! Voila mn Liste des logiciels installés (par VBS) [ par glad ] Bonjour, Je suis un peu perplexe[^^sad2], je viens de m'apercevoir que certains logiciels ne "remontaient" pas ds WMI via le script suivant : [code= programmation [ par domil2010 ] Bonsoir, je cherche un code qui va me permettre d'imprimer le resultat de cette commande qui se trouve dans le datagrid. Merci. Try Dim con As O Schema xsd d'une table [ par NSUADI ] Bonsoir à tous!! j'aimerai savoir quel requête T-Sql permet de créer le schéma XML correspondant à une table(.xsd) pour l'écrire ensuite dans un fich


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,541 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales