|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
SNIPPET $PROCESS
Information sur la source
Description
Ce snippet permet de : -Savoir si oui ou non un processus est ouvert -Pouvoir fermer le processus Le code n'est pas de moi même si j'y est bien contribuer, c'est Luckyfranck qui l'a fait, j'ai juste transformé ca en snippet. Pour l'utiliser : $process() Propriété : kill, isopen Exemple : $process(mirc.exe).isopen ne peux retourné que $true :) $process(mirc.exe).kill ferme l'application et renvoi $true, $false sinon Le code utilise les objet Com, ce qui est de loin la chose la moins evidente en mirc. Le code n'est pas non plus des plus rapides, cela dépendera du nombre de processus ouvert et de leur place.
Source
- /*
-
- Alias très simple pour :
- -Savoir si tel ou tel processus est actif.
- -Fermer un processus.
-
- Syntaxe: $process(processus)
- Propriété : isopen kill
- Exemple: //echo * $process(mirc.exe).isopen
- Résultat: * $true
-
- Pour plus d'aide, concernant l'objet Shell Win32_Process:
- http://msdn2.microsoft.com/en-us/library/aa394372.aspx
-
- */
-
- alias process {
-
- ; On ouvre l'objet COM
-
- .comopen Process WbemScripting.SWbemLocator
-
- ; On transfère les données de l'ouverture de l'objet 'Process' dans l'objet 'Win32_Process'
- ; Il y a création d'un nouvel objet, 'Process' ne sers plus.
-
- noop $com(Process,ConnectServer,3, dispatch* Win32_Process)
-
- ; On éxécute une requête WQL afin de séléctionner tous les champs (*) de l'objet 'Win32_Process' (pas l'objet COM, l'objet Shell)
- ; Cette requête nous renvoit la liste
- ; Le dispatch transfère ces données sur un nouvel objet, 'Win32_Process_Results'
-
- noop $com(Win32_Process, ExecQuery,3,string,Select * from Win32_Process,dispatch* Win32_Process_Result)
-
- ; On fait une boucle sur la liste
- var %a = $comval(Win32_Process_Result,0)
-
- while (%a) {
-
- ; Si le nom du processus est celui que l'on a spécifié :
-
- if ($comval(Win32_Process_Result,%a,Name) == $1) {
-
- ; On met la variable %t à 1 si on a spécifié $process().open et on arrete la boucle
-
- if ($prop == isopen) { var %t 1 | break }
-
- ; On met la variable %n a 1 si on a spécifié $process().kill ,on ferme le processus et on arrete la boucle
-
- elseif ($prop == kill) { var %n 1 | noop $comval(Win32_Process_Result,%a,Terminate) | break }
-
- }
-
- ; On décremente %a pour la boucle
-
- dec %a
-
- }
-
- ; On ferme les objets COM
-
- .comclose process
- .comclose win32_process
- .comclose Win32_Process_Result
-
- ; Si %t est à 1, le processus demandé est ouvert, donc on retourne $true, $false sinon.
- ; Si %n est à 1, le processus demandé a été fermé, donc on retourne $true, $false sinon.
-
- return $iif(%t,$true,$iif(%n,$true,$false))
- }
/*
Alias très simple pour :
-Savoir si tel ou tel processus est actif.
-Fermer un processus.
Syntaxe: $process(processus)
Propriété : isopen kill
Exemple: //echo * $process(mirc.exe).isopen
Résultat: * $true
Pour plus d'aide, concernant l'objet Shell Win32_Process:
http://msdn2.microsoft.com/en-us/library/aa394372.aspx
*/
alias process {
; On ouvre l'objet COM
.comopen Process WbemScripting.SWbemLocator
; On transfère les données de l'ouverture de l'objet 'Process' dans l'objet 'Win32_Process'
; Il y a création d'un nouvel objet, 'Process' ne sers plus.
noop $com(Process,ConnectServer,3, dispatch* Win32_Process)
; On éxécute une requête WQL afin de séléctionner tous les champs (*) de l'objet 'Win32_Process' (pas l'objet COM, l'objet Shell)
; Cette requête nous renvoit la liste
; Le dispatch transfère ces données sur un nouvel objet, 'Win32_Process_Results'
noop $com(Win32_Process, ExecQuery,3,string,Select * from Win32_Process,dispatch* Win32_Process_Result)
; On fait une boucle sur la liste
var %a = $comval(Win32_Process_Result,0)
while (%a) {
; Si le nom du processus est celui que l'on a spécifié :
if ($comval(Win32_Process_Result,%a,Name) == $1) {
; On met la variable %t à 1 si on a spécifié $process().open et on arrete la boucle
if ($prop == isopen) { var %t 1 | break }
; On met la variable %n a 1 si on a spécifié $process().kill ,on ferme le processus et on arrete la boucle
elseif ($prop == kill) { var %n 1 | noop $comval(Win32_Process_Result,%a,Terminate) | break }
}
; On décremente %a pour la boucle
dec %a
}
; On ferme les objets COM
.comclose process
.comclose win32_process
.comclose Win32_Process_Result
; Si %t est à 1, le processus demandé est ouvert, donc on retourne $true, $false sinon.
; Si %n est à 1, le processus demandé a été fermé, donc on retourne $true, $false sinon.
return $iif(%t,$true,$iif(%n,$true,$false))
}
Conclusion
Utile si l'on veux savoir si un application est ouverte
Historique
- 18 mars 2007 19:13:09 :
- manquait le /* du debut des commentaire
- 20 avril 2007 20:42:31 :
- Rajout de la propriété .kill qui permet de fermé le processus
Sources du même auteur
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
cherche help sur les /com object [ par RysS ]
Je cherche une aide concrete ( en fr de préférence ) ou un tutorial ou les deux sur les /com object ( command epour acceder a des programme )RysS [ A
Snippet MATHS [ par Zova ]
Bon je me suis peut être pas foulé, mais je voulai vous montrer un petit tour de maths :] ALT + A (partie aliases) vous mettez le tout et ta
error snippet [ par neo66 ]
Bonjours, je me suis amusé a faire ce petit snippet qui n'est pas vraiment tres utile mais bon, je savais pas quoi faire... mais (oui oui, ya toujours
Hébergement gratuit d'images [ par jhd ]
J'ai créé ce post pour vous présenter un de mes projets : NetImago.com Vous allez me dire qu'il existe de nombreux sites de ce genre et c'est vrai. Po
[TCL] Souci sur plusieur tcl [ par Loveurs ]
Bonjour,Je suis actuellement sur le projet de vouloir faire un GeoFront sur inspircd1.1.22je n'arrive pas à faire en sorte que le bot link rejoind l'i
Pourcentage de similarité [ par BSmax ]
Bonjour à tous :)Je cherche un snippet capable de calculer le pourcentage de similarité entre la réponse d'un joueur et une réponse enregistrée, pour
MSL qui permet de télécharger des images [ par kevin0998 ]
salut a tous! Je ne sais pas si je suis au bon endroit, mais je m'y lance!J'ai un script fait par un membre en 2004 (oui, quand meme vieux) J'ai tenté
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version

HTC Touch HD
Entre 25€ et 605€
|