Bonjour à tous,
voila mon problème : j'arrive avec la commande
GetObject("winmgmts:.rootcimv2").ExecQuery("Select * from
Win32_Process")
à récupérer la collection d'objets contenant les process process lancés;
seulement je voudrais pouvoir faire un getobject sur un process afin de
prendre la main dessus et utiliser ses propriétés et méthodes.
Par exemple, si un word est lancé, je voudrais pouvoir l'utiliser.
Pourriez-vous m'aider et me dire comment faire ?
Bonjour à tous,
voila mon problème : j'arrive avec la commande
GetObject("winmgmts:\.rootcimv2").ExecQuery("Select * from
Win32_Process")
à récupérer la collection d'objets contenant les process process lancés;
seulement je voudrais pouvoir faire un getobject sur un process afin de
prendre la main dessus et utiliser ses propriétés et méthodes.
Par exemple, si un word est lancé, je voudrais pouvoir l'utiliser.
Pourriez-vous m'aider et me dire comment faire ?
Bonjour à tous,
voila mon problème : j'arrive avec la commande
GetObject("winmgmts:.rootcimv2").ExecQuery("Select * from
Win32_Process")
à récupérer la collection d'objets contenant les process process lancés;
seulement je voudrais pouvoir faire un getobject sur un process afin de
prendre la main dessus et utiliser ses propriétés et méthodes.
Par exemple, si un word est lancé, je voudrais pouvoir l'utiliser.
Pourriez-vous m'aider et me dire comment faire ?
"Georges MAUREL" <georges.maurel_at_free.fr> wrote in message
news:%23M6%Bonjour à tous,
voila mon problème : j'arrive avec la commande
GetObject("winmgmts:.rootcimv2").ExecQuery("Select * from
Win32_Process")
à récupérer la collection d'objets contenant les process process lancés;
seulement je voudrais pouvoir faire un getobject sur un process afin de
prendre la main dessus et utiliser ses propriétés et méthodes.
Par exemple, si un word est lancé, je voudrais pouvoir l'utiliser.
Pourriez-vous m'aider et me dire comment faire ?
Simplement en complétant ta requête: "select * from Win32_Process where
Name
= 'winword.exe' ".
Par exemple si tu veux fermer tous les process winword.exe en cours
d'exécution:
--- couper ici ---
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" & strComputer & "rootcimv2")
Set colProcesses = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'Winword.exe'")
For Each objProcess in colProcesses
objProcess.Terminate()
Next
--- couper ici ---
Jacques
"Georges MAUREL" <georges.maurel_at_free.fr> wrote in message
news:%23M6%23wvLVEHA.2972@TK2MSFTNGP12.phx.gbl...
Bonjour à tous,
voila mon problème : j'arrive avec la commande
GetObject("winmgmts:\.rootcimv2").ExecQuery("Select * from
Win32_Process")
à récupérer la collection d'objets contenant les process process lancés;
seulement je voudrais pouvoir faire un getobject sur un process afin de
prendre la main dessus et utiliser ses propriétés et méthodes.
Par exemple, si un word est lancé, je voudrais pouvoir l'utiliser.
Pourriez-vous m'aider et me dire comment faire ?
Simplement en complétant ta requête: "select * from Win32_Process where
Name
= 'winword.exe' ".
Par exemple si tu veux fermer tous les process winword.exe en cours
d'exécution:
--- couper ici ---
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & strComputer & "rootcimv2")
Set colProcesses = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'Winword.exe'")
For Each objProcess in colProcesses
objProcess.Terminate()
Next
--- couper ici ---
Jacques
"Georges MAUREL" <georges.maurel_at_free.fr> wrote in message
news:%23M6%Bonjour à tous,
voila mon problème : j'arrive avec la commande
GetObject("winmgmts:.rootcimv2").ExecQuery("Select * from
Win32_Process")
à récupérer la collection d'objets contenant les process process lancés;
seulement je voudrais pouvoir faire un getobject sur un process afin de
prendre la main dessus et utiliser ses propriétés et méthodes.
Par exemple, si un word est lancé, je voudrais pouvoir l'utiliser.
Pourriez-vous m'aider et me dire comment faire ?
Simplement en complétant ta requête: "select * from Win32_Process where
Name
= 'winword.exe' ".
Par exemple si tu veux fermer tous les process winword.exe en cours
d'exécution:
--- couper ici ---
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" & strComputer & "rootcimv2")
Set colProcesses = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'Winword.exe'")
For Each objProcess in colProcesses
objProcess.Terminate()
Next
--- couper ici ---
Jacques
Bonjour,
Merci pour cette réponse mais cela ne correspond pas tout à fait à ce que
je
désire faire.
En fait en utilisant votre exemple, on récupère une collection d'objets
"process" et donc on ne peut accéder qu'aux propriétés et méthodes de ces
objets.
Ce que je voudrais faire, c'est à partir de la collection récupérer (qui
me
permet donc de savoir si un programme est lancé ou pas), faire un
getobject
sur un des programmes lancés afin d'accéder à ces propriétés et méthodes.
Le
problème c'est que GetObject nécessite de connaitre la classe de l'objet
(Ex : "Excel.Application" ). Mais Win32_Process ne donne pas cette
information. Donc comment faire pour faire pour récupérer cette
information
et faire ce getobject pour n'importe quel process ?
Merci d'avance pour vos éclairages.
"Jacques Barathon [MS]" a écrit dans le
message de news:"Georges MAUREL" <georges.maurel_at_free.fr> wrote in message
news:%23M6%Bonjour à tous,
voila mon problème : j'arrive avec la commande
GetObject("winmgmts:.rootcimv2").ExecQuery("Select * from
Win32_Process")
à récupérer la collection d'objets contenant les process process
lancés;
seulement je voudrais pouvoir faire un getobject sur un process afin
de
prendre la main dessus et utiliser ses propriétés et méthodes.
Par exemple, si un word est lancé, je voudrais pouvoir l'utiliser.
Pourriez-vous m'aider et me dire comment faire ?
Simplement en complétant ta requête: "select * from Win32_Process where
Name= 'winword.exe' ".
Par exemple si tu veux fermer tous les process winword.exe en cours
d'exécution:
--- couper ici ---
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" & strComputer &
"rootcimv2")
Set colProcesses = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'Winword.exe'")
For Each objProcess in colProcesses
objProcess.Terminate()
Next
--- couper ici ---
Jacques
Bonjour,
Merci pour cette réponse mais cela ne correspond pas tout à fait à ce que
je
désire faire.
En fait en utilisant votre exemple, on récupère une collection d'objets
"process" et donc on ne peut accéder qu'aux propriétés et méthodes de ces
objets.
Ce que je voudrais faire, c'est à partir de la collection récupérer (qui
me
permet donc de savoir si un programme est lancé ou pas), faire un
getobject
sur un des programmes lancés afin d'accéder à ces propriétés et méthodes.
Le
problème c'est que GetObject nécessite de connaitre la classe de l'objet
(Ex : "Excel.Application" ). Mais Win32_Process ne donne pas cette
information. Donc comment faire pour faire pour récupérer cette
information
et faire ce getobject pour n'importe quel process ?
Merci d'avance pour vos éclairages.
"Jacques Barathon [MS]" <jbaratho@online.microsoft.com> a écrit dans le
message de news:esJxpFQVEHA.644@tk2msftngp13.phx.gbl...
"Georges MAUREL" <georges.maurel_at_free.fr> wrote in message
news:%23M6%23wvLVEHA.2972@TK2MSFTNGP12.phx.gbl...
Bonjour à tous,
voila mon problème : j'arrive avec la commande
GetObject("winmgmts:\.rootcimv2").ExecQuery("Select * from
Win32_Process")
à récupérer la collection d'objets contenant les process process
lancés;
seulement je voudrais pouvoir faire un getobject sur un process afin
de
prendre la main dessus et utiliser ses propriétés et méthodes.
Par exemple, si un word est lancé, je voudrais pouvoir l'utiliser.
Pourriez-vous m'aider et me dire comment faire ?
Simplement en complétant ta requête: "select * from Win32_Process where
Name
= 'winword.exe' ".
Par exemple si tu veux fermer tous les process winword.exe en cours
d'exécution:
--- couper ici ---
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & strComputer &
"rootcimv2")
Set colProcesses = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'Winword.exe'")
For Each objProcess in colProcesses
objProcess.Terminate()
Next
--- couper ici ---
Jacques
Bonjour,
Merci pour cette réponse mais cela ne correspond pas tout à fait à ce que
je
désire faire.
En fait en utilisant votre exemple, on récupère une collection d'objets
"process" et donc on ne peut accéder qu'aux propriétés et méthodes de ces
objets.
Ce que je voudrais faire, c'est à partir de la collection récupérer (qui
me
permet donc de savoir si un programme est lancé ou pas), faire un
getobject
sur un des programmes lancés afin d'accéder à ces propriétés et méthodes.
Le
problème c'est que GetObject nécessite de connaitre la classe de l'objet
(Ex : "Excel.Application" ). Mais Win32_Process ne donne pas cette
information. Donc comment faire pour faire pour récupérer cette
information
et faire ce getobject pour n'importe quel process ?
Merci d'avance pour vos éclairages.
"Jacques Barathon [MS]" a écrit dans le
message de news:"Georges MAUREL" <georges.maurel_at_free.fr> wrote in message
news:%23M6%Bonjour à tous,
voila mon problème : j'arrive avec la commande
GetObject("winmgmts:.rootcimv2").ExecQuery("Select * from
Win32_Process")
à récupérer la collection d'objets contenant les process process
lancés;
seulement je voudrais pouvoir faire un getobject sur un process afin
de
prendre la main dessus et utiliser ses propriétés et méthodes.
Par exemple, si un word est lancé, je voudrais pouvoir l'utiliser.
Pourriez-vous m'aider et me dire comment faire ?
Simplement en complétant ta requête: "select * from Win32_Process where
Name= 'winword.exe' ".
Par exemple si tu veux fermer tous les process winword.exe en cours
d'exécution:
--- couper ici ---
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" & strComputer &
"rootcimv2")
Set colProcesses = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'Winword.exe'")
For Each objProcess in colProcesses
objProcess.Terminate()
Next
--- couper ici ---
Jacques
bonjour,
de toute facon, en faisant un getobject claqssname ont crée une nouvelle
instance du prog, on ne le pilote pas. sinon il ne me semble pas que ce
genre de prise de controle soit possible avec la sécu IPC de Windows. il
faut avoir instancié soit même un process pour pouvoir le controler (à
vérifier);
"Georges MAUREL" <georges.maurel_at_free.fr> a écrit dans le message de
news:Bonjour,
Merci pour cette réponse mais cela ne correspond pas tout à fait à ce
que
jedésire faire.
En fait en utilisant votre exemple, on récupère une collection d'objets
"process" et donc on ne peut accéder qu'aux propriétés et méthodes de
ces
objets.
Ce que je voudrais faire, c'est à partir de la collection récupérer (qui
mepermet donc de savoir si un programme est lancé ou pas), faire un
getobjectsur un des programmes lancés afin d'accéder à ces propriétés et
méthodes.
Leproblème c'est que GetObject nécessite de connaitre la classe de
l'objet
(Ex : "Excel.Application" ). Mais Win32_Process ne donne pas cette
information. Donc comment faire pour faire pour récupérer cette
informationet faire ce getobject pour n'importe quel process ?
Merci d'avance pour vos éclairages.
"Jacques Barathon [MS]" a écrit dans le
message de news:"Georges MAUREL" <georges.maurel_at_free.fr> wrote in message
news:%23M6%Bonjour à tous,
voila mon problème : j'arrive avec la commande
GetObject("winmgmts:.rootcimv2").ExecQuery("Select * from
Win32_Process")
à récupérer la collection d'objets contenant les process process
lancés;seulement je voudrais pouvoir faire un getobject sur un process afin
deprendre la main dessus et utiliser ses propriétés et méthodes.
Par exemple, si un word est lancé, je voudrais pouvoir l'utiliser.
Pourriez-vous m'aider et me dire comment faire ?
Simplement en complétant ta requête: "select * from Win32_Process
where
Name= 'winword.exe' ".
Par exemple si tu veux fermer tous les process winword.exe en cours
d'exécution:
--- couper ici ---
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" & strComputer &
"rootcimv2")Set colProcesses = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'Winword.exe'")
For Each objProcess in colProcesses
objProcess.Terminate()
Next
--- couper ici ---
Jacques
bonjour,
de toute facon, en faisant un getobject claqssname ont crée une nouvelle
instance du prog, on ne le pilote pas. sinon il ne me semble pas que ce
genre de prise de controle soit possible avec la sécu IPC de Windows. il
faut avoir instancié soit même un process pour pouvoir le controler (à
vérifier);
"Georges MAUREL" <georges.maurel_at_free.fr> a écrit dans le message de
news:ONkJA4QVEHA.2972@TK2MSFTNGP11.phx.gbl...
Bonjour,
Merci pour cette réponse mais cela ne correspond pas tout à fait à ce
que
je
désire faire.
En fait en utilisant votre exemple, on récupère une collection d'objets
"process" et donc on ne peut accéder qu'aux propriétés et méthodes de
ces
objets.
Ce que je voudrais faire, c'est à partir de la collection récupérer (qui
me
permet donc de savoir si un programme est lancé ou pas), faire un
getobject
sur un des programmes lancés afin d'accéder à ces propriétés et
méthodes.
Le
problème c'est que GetObject nécessite de connaitre la classe de
l'objet
(Ex : "Excel.Application" ). Mais Win32_Process ne donne pas cette
information. Donc comment faire pour faire pour récupérer cette
information
et faire ce getobject pour n'importe quel process ?
Merci d'avance pour vos éclairages.
"Jacques Barathon [MS]" <jbaratho@online.microsoft.com> a écrit dans le
message de news:esJxpFQVEHA.644@tk2msftngp13.phx.gbl...
"Georges MAUREL" <georges.maurel_at_free.fr> wrote in message
news:%23M6%23wvLVEHA.2972@TK2MSFTNGP12.phx.gbl...
Bonjour à tous,
voila mon problème : j'arrive avec la commande
GetObject("winmgmts:\.rootcimv2").ExecQuery("Select * from
Win32_Process")
à récupérer la collection d'objets contenant les process process
lancés;
seulement je voudrais pouvoir faire un getobject sur un process afin
de
prendre la main dessus et utiliser ses propriétés et méthodes.
Par exemple, si un word est lancé, je voudrais pouvoir l'utiliser.
Pourriez-vous m'aider et me dire comment faire ?
Simplement en complétant ta requête: "select * from Win32_Process
where
Name
= 'winword.exe' ".
Par exemple si tu veux fermer tous les process winword.exe en cours
d'exécution:
--- couper ici ---
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & strComputer &
"rootcimv2")
Set colProcesses = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'Winword.exe'")
For Each objProcess in colProcesses
objProcess.Terminate()
Next
--- couper ici ---
Jacques
bonjour,
de toute facon, en faisant un getobject claqssname ont crée une nouvelle
instance du prog, on ne le pilote pas. sinon il ne me semble pas que ce
genre de prise de controle soit possible avec la sécu IPC de Windows. il
faut avoir instancié soit même un process pour pouvoir le controler (à
vérifier);
"Georges MAUREL" <georges.maurel_at_free.fr> a écrit dans le message de
news:Bonjour,
Merci pour cette réponse mais cela ne correspond pas tout à fait à ce
que
jedésire faire.
En fait en utilisant votre exemple, on récupère une collection d'objets
"process" et donc on ne peut accéder qu'aux propriétés et méthodes de
ces
objets.
Ce que je voudrais faire, c'est à partir de la collection récupérer (qui
mepermet donc de savoir si un programme est lancé ou pas), faire un
getobjectsur un des programmes lancés afin d'accéder à ces propriétés et
méthodes.
Leproblème c'est que GetObject nécessite de connaitre la classe de
l'objet
(Ex : "Excel.Application" ). Mais Win32_Process ne donne pas cette
information. Donc comment faire pour faire pour récupérer cette
informationet faire ce getobject pour n'importe quel process ?
Merci d'avance pour vos éclairages.
"Jacques Barathon [MS]" a écrit dans le
message de news:"Georges MAUREL" <georges.maurel_at_free.fr> wrote in message
news:%23M6%Bonjour à tous,
voila mon problème : j'arrive avec la commande
GetObject("winmgmts:.rootcimv2").ExecQuery("Select * from
Win32_Process")
à récupérer la collection d'objets contenant les process process
lancés;seulement je voudrais pouvoir faire un getobject sur un process afin
deprendre la main dessus et utiliser ses propriétés et méthodes.
Par exemple, si un word est lancé, je voudrais pouvoir l'utiliser.
Pourriez-vous m'aider et me dire comment faire ?
Simplement en complétant ta requête: "select * from Win32_Process
where
Name= 'winword.exe' ".
Par exemple si tu veux fermer tous les process winword.exe en cours
d'exécution:
--- couper ici ---
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" & strComputer &
"rootcimv2")Set colProcesses = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'Winword.exe'")
For Each objProcess in colProcesses
objProcess.Terminate()
Next
--- couper ici ---
Jacques
Bonjour,
Désolé Martin de vous contredire, mais si on lance excel par exemple et
que
par un script vbs on fait
Set objet = GetObject(,"Excel.Application")
objet.caption = "Test"
Alors le caption et bien modifié. On peut ainsi accéder aux propriétés et
méthodes de l'objet. Donc, je voulais automatiser cela pour, à partir de
la
collection des process, accéder un objet sans connaitre son classname(à
partir de son processid par exemple) , ou en le récupérant (mais cela je
ne
sais pas comment faire)
"Martin CLAVREUIL"
a écrit dans
le
message de news:bonjour,
de toute facon, en faisant un getobject claqssname ont crée une nouvelle
instance du prog, on ne le pilote pas. sinon il ne me semble pas que ce
genre de prise de controle soit possible avec la sécu IPC de Windows. il
faut avoir instancié soit même un process pour pouvoir le controler (à
vérifier);
"Georges MAUREL" <georges.maurel_at_free.fr> a écrit dans le message de
news:Bonjour,
Merci pour cette réponse mais cela ne correspond pas tout à fait à ce
quejedésire faire.
En fait en utilisant votre exemple, on récupère une collection
d'objets
"process" et donc on ne peut accéder qu'aux propriétés et méthodes de
cesobjets.
Ce que je voudrais faire, c'est à partir de la collection récupérer
(qui
mepermet donc de savoir si un programme est lancé ou pas), faire un
getobjectsur un des programmes lancés afin d'accéder à ces propriétés et
méthodes.Leproblème c'est que GetObject nécessite de connaitre la classe de
l'objet(Ex : "Excel.Application" ). Mais Win32_Process ne donne pas cette
information. Donc comment faire pour faire pour récupérer cette
informationet faire ce getobject pour n'importe quel process ?
Merci d'avance pour vos éclairages.
"Jacques Barathon [MS]" a écrit dans
le
message de news:"Georges MAUREL" <georges.maurel_at_free.fr> wrote in message
news:%23M6%Bonjour à tous,
voila mon problème : j'arrive avec la commande
GetObject("winmgmts:.rootcimv2").ExecQuery("Select * from
Win32_Process")
à récupérer la collection d'objets contenant les process process
lancés;seulement je voudrais pouvoir faire un getobject sur un process
afin
deprendre la main dessus et utiliser ses propriétés et méthodes.
Par exemple, si un word est lancé, je voudrais pouvoir l'utiliser.
Pourriez-vous m'aider et me dire comment faire ?
Simplement en complétant ta requête: "select * from Win32_Process
whereName= 'winword.exe' ".
Par exemple si tu veux fermer tous les process winword.exe en cours
d'exécution:
--- couper ici ---
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" & strComputer &
"rootcimv2")Set colProcesses = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'Winword.exe'")
For Each objProcess in colProcesses
objProcess.Terminate()
Next
--- couper ici ---
Jacques
Bonjour,
Désolé Martin de vous contredire, mais si on lance excel par exemple et
que
par un script vbs on fait
Set objet = GetObject(,"Excel.Application")
objet.caption = "Test"
Alors le caption et bien modifié. On peut ainsi accéder aux propriétés et
méthodes de l'objet. Donc, je voulais automatiser cela pour, à partir de
la
collection des process, accéder un objet sans connaitre son classname(à
partir de son processid par exemple) , ou en le récupérant (mais cela je
ne
sais pas comment faire)
"Martin CLAVREUIL"
<-dropthis-martin.clavreuil_dropthis_@wanadoo._drop-this_fr> a écrit dans
le
message de news:eBdw0bSVEHA.2692@TK2MSFTNGP09.phx.gbl...
bonjour,
de toute facon, en faisant un getobject claqssname ont crée une nouvelle
instance du prog, on ne le pilote pas. sinon il ne me semble pas que ce
genre de prise de controle soit possible avec la sécu IPC de Windows. il
faut avoir instancié soit même un process pour pouvoir le controler (à
vérifier);
"Georges MAUREL" <georges.maurel_at_free.fr> a écrit dans le message de
news:ONkJA4QVEHA.2972@TK2MSFTNGP11.phx.gbl...
Bonjour,
Merci pour cette réponse mais cela ne correspond pas tout à fait à ce
que
je
désire faire.
En fait en utilisant votre exemple, on récupère une collection
d'objets
"process" et donc on ne peut accéder qu'aux propriétés et méthodes de
ces
objets.
Ce que je voudrais faire, c'est à partir de la collection récupérer
(qui
me
permet donc de savoir si un programme est lancé ou pas), faire un
getobject
sur un des programmes lancés afin d'accéder à ces propriétés et
méthodes.
Le
problème c'est que GetObject nécessite de connaitre la classe de
l'objet
(Ex : "Excel.Application" ). Mais Win32_Process ne donne pas cette
information. Donc comment faire pour faire pour récupérer cette
information
et faire ce getobject pour n'importe quel process ?
Merci d'avance pour vos éclairages.
"Jacques Barathon [MS]" <jbaratho@online.microsoft.com> a écrit dans
le
message de news:esJxpFQVEHA.644@tk2msftngp13.phx.gbl...
"Georges MAUREL" <georges.maurel_at_free.fr> wrote in message
news:%23M6%23wvLVEHA.2972@TK2MSFTNGP12.phx.gbl...
Bonjour à tous,
voila mon problème : j'arrive avec la commande
GetObject("winmgmts:\.rootcimv2").ExecQuery("Select * from
Win32_Process")
à récupérer la collection d'objets contenant les process process
lancés;
seulement je voudrais pouvoir faire un getobject sur un process
afin
de
prendre la main dessus et utiliser ses propriétés et méthodes.
Par exemple, si un word est lancé, je voudrais pouvoir l'utiliser.
Pourriez-vous m'aider et me dire comment faire ?
Simplement en complétant ta requête: "select * from Win32_Process
where
Name
= 'winword.exe' ".
Par exemple si tu veux fermer tous les process winword.exe en cours
d'exécution:
--- couper ici ---
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & strComputer &
"rootcimv2")
Set colProcesses = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'Winword.exe'")
For Each objProcess in colProcesses
objProcess.Terminate()
Next
--- couper ici ---
Jacques
Bonjour,
Désolé Martin de vous contredire, mais si on lance excel par exemple et
que
par un script vbs on fait
Set objet = GetObject(,"Excel.Application")
objet.caption = "Test"
Alors le caption et bien modifié. On peut ainsi accéder aux propriétés et
méthodes de l'objet. Donc, je voulais automatiser cela pour, à partir de
la
collection des process, accéder un objet sans connaitre son classname(à
partir de son processid par exemple) , ou en le récupérant (mais cela je
ne
sais pas comment faire)
"Martin CLAVREUIL"
a écrit dans
le
message de news:bonjour,
de toute facon, en faisant un getobject claqssname ont crée une nouvelle
instance du prog, on ne le pilote pas. sinon il ne me semble pas que ce
genre de prise de controle soit possible avec la sécu IPC de Windows. il
faut avoir instancié soit même un process pour pouvoir le controler (à
vérifier);
"Georges MAUREL" <georges.maurel_at_free.fr> a écrit dans le message de
news:Bonjour,
Merci pour cette réponse mais cela ne correspond pas tout à fait à ce
quejedésire faire.
En fait en utilisant votre exemple, on récupère une collection
d'objets
"process" et donc on ne peut accéder qu'aux propriétés et méthodes de
cesobjets.
Ce que je voudrais faire, c'est à partir de la collection récupérer
(qui
mepermet donc de savoir si un programme est lancé ou pas), faire un
getobjectsur un des programmes lancés afin d'accéder à ces propriétés et
méthodes.Leproblème c'est que GetObject nécessite de connaitre la classe de
l'objet(Ex : "Excel.Application" ). Mais Win32_Process ne donne pas cette
information. Donc comment faire pour faire pour récupérer cette
informationet faire ce getobject pour n'importe quel process ?
Merci d'avance pour vos éclairages.
"Jacques Barathon [MS]" a écrit dans
le
message de news:"Georges MAUREL" <georges.maurel_at_free.fr> wrote in message
news:%23M6%Bonjour à tous,
voila mon problème : j'arrive avec la commande
GetObject("winmgmts:.rootcimv2").ExecQuery("Select * from
Win32_Process")
à récupérer la collection d'objets contenant les process process
lancés;seulement je voudrais pouvoir faire un getobject sur un process
afin
deprendre la main dessus et utiliser ses propriétés et méthodes.
Par exemple, si un word est lancé, je voudrais pouvoir l'utiliser.
Pourriez-vous m'aider et me dire comment faire ?
Simplement en complétant ta requête: "select * from Win32_Process
whereName= 'winword.exe' ".
Par exemple si tu veux fermer tous les process winword.exe en cours
d'exécution:
--- couper ici ---
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" & strComputer &
"rootcimv2")Set colProcesses = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'Winword.exe'")
For Each objProcess in colProcesses
objProcess.Terminate()
Next
--- couper ici ---
Jacques