Set ProcessID avec WMI ? - VB/VBA/VBS - Programmation
Marsh Posté le 12-05-2005 à 14:25:42
C'est dans IntProcessID que tu récupères le ProcessID donné par l'OS.
Marsh Posté le 12-05-2005 à 14:33:36
Merci pour ta réponse Alain.
C'est bien ce que j'avais cru comprendre : IntProcessID me permet juste de récupérer le PID mais comment faire alors pour forcer ce PID dès sa création ?
A ma connaissance il n'y a pas de fonction Set ProcessID, bref j'ai un peu de mal à entrevoir une solution.
Marsh Posté le 12-05-2005 à 14:34:55
C'est l'OS qui donne le ProcessId.
N'essaye pas de trouver à le contourner, c'est comme ça.
Marsh Posté le 12-05-2005 à 14:44:58
Ok donc si je comprends bien je n'ai aucun moyen de prédéfinir le PID et donc de lancer un process avec un PID de mon choix.
Bon cela me pose donc un sacré problème.
Merci en tout cas Alain
Marsh Posté le 12-05-2005 à 16:06:42
Pourquoi cela te pose-t-il un problème?
Je suppose que tu veux pouvoir agir sur ce process. Donc, il te suffit de récupérer le PID au lancement et t'en servir par la suite.
Marsh Posté le 13-05-2005 à 00:36:23
Bien je vais essayer de faire simple et clair.
Je suis sys op de serveurs de jeux. Certain serveurs sont sous windows 2k server.
Les joueurs controlent l'arrêt et le lancement des jeux via une interface en PHP qui en fin de chaine lance ou coupe le jeu via un start.vbs et stop.vbs quelque peu identiques au code ci-dessus.
Lorsqu'un jeu est installé plusieurs fois sur une meme machine j'avais l'habitude de renommer les *.exe pour les distinguer.
Ainsi et à titre d'exemple le stop.vbs du jeu numero 1 ressemble à ceci :
Code :
|
Aujourd'hui je suis face à un jeu dont il est impossible de renommer l'executable, sinon le jeu ne se lance pas. Mes Stop.vbs sont donc caduques car en executant un stop.vbs je coupe tous les jeux et non seulement celui concerné...
J'espérais donc pouvoir lancer le jeu en lui attribuant un PID prédéfini et ainsi le couper en utilisant son PID.
Il va donc falloir que je trouve une autre solution...
Je pense éventuellement, une fois le jeu lancé, à enregistrer le PID du jeu numero 1 dans un fichier tiers et le récupérer ensuite pour pouvoir le couper ... Je pourrais éventuellement enregistrer le PID dans une BDD... Bref voilà l''histoire à l'instant présent...
Marsh Posté le 13-05-2005 à 07:14:01
Mais si tu connias le fichier exe, récupère son PID avec un script, su style un Sleep pdt 5s puis le script cherche dans les exécutions en cours le PID correspondant au jeu. Non ?
Marsh Posté le 13-05-2005 à 09:09:58
knakes a écrit : Mais si tu connias le fichier exe, récupère son PID avec un script, su style un Sleep pdt 5s puis le script cherche dans les exécutions en cours le PID correspondant au jeu. Non ? |
Son problème, c'est qu'il peut avoir plusieurs instances du même jeu.
Il doit donc garder une trace du PID attribué au lancement.
Marsh Posté le 13-05-2005 à 13:18:20
ben justement
tu redirige le raccourcis vers un srcipt
qui va regarder le PID -> le pid du jeu lancé.
Le soucis, c'est que les joueurs ne peuvent passer que par là.
Marsh Posté le 12-05-2005 à 14:09:14
Bonjour,
J'essai de lancer une application en lui attribuant un PID prédéfini mais sans succès, je ne sais pas d'ailleurs si c'est techniquement possible avec WMI.
Quelqu'un aurait il une idée ?
ça compile mais en aucun cas le PID est égal à 900...