Empêcher l'arrêt d'un batch par l'utilisateur.

Empêcher l'arrêt d'un batch par l'utilisateur. - Shell/Batch - Programmation

Marsh Posté le 13-02-2006 à 09:16:31    

Bonjours,  
 
Voilà la situation :  
 
J'ai en fait créé un batch qui se doit de tourner en permanence. Or, ce batch est sur une console de visualisation (console à laquelle n'importe quel utilisateur à accès) et c'est là tout mon problème. En effet, je n'avais pas prévu que les utilisateurs s'amuseraient à fermer mon batch : "Parce que ce n'est pas joli dans la barre des tâches" dixit un utilisateur. En attendant, cela s'avère extrêmement génant - surtout que cela arrive quasi tout les jours -.
 
J'aimerais donc savoir s'il y a un quelconque moyen de les empêcher de le fermer. J'ai envisagé plusieurs options que voici :  
 
*Griser la "croix de fermeture"
*Mettre mon batch en service (bien sûr les utilisateurs auraient toujours la possibilité de le fermer mais ce serait déjà moins évident)
*Demander une confirmation losque l'on tente de fermer mon batch (ce serait déjà ça de pris)
*Dans un autre sujet, il avait été dit que l'on pouvait éventuellement gérer les évènements windows. Mais cela me semble assez complexe à mettre en place. Enfin je ne sais pas...
 
Mais voilà, je n'ai aucune idée de comment mettre en place ces idées.
 
P.S : J'avais déjà tenté de mettre un deuxième batch qui relance automatiquement le premier mais évidemment on me ferme les deux... :sleep:  
 
Merci d'avance  :)


Message édité par Tyam le 13-02-2006 à 09:17:53
Reply

Marsh Posté le 13-02-2006 à 09:16:31   

Reply

Marsh Posté le 13-02-2006 à 09:37:21    

slt,
tu peux pas faire un programme qui lance le batch mais en daemon ?
je sais que en C (sharp) cest possible, ensuite..je sais pas.

Reply

Marsh Posté le 13-02-2006 à 09:54:52    

shreck a écrit :

slt,
tu peux pas faire un programme qui lance le batch mais en daemon ?
je sais que en C (sharp) cest possible, ensuite..je sais pas.


 
 :heink: Si tu pouvais peut-être développer un peu plus, ça m'aiderait beaucoup. Sinon, je vais essayer de me renseigner.
 

Reply

Marsh Posté le 13-02-2006 à 10:23:39    

renseigne toi sur le C#, System.Diagnostics et Process.Start
 
exemple de Process.Start :
 
Process.Start(@"cmd.exe",@"/c tracert.exe" );
// lance un programme "tracert.exe" a partir du shell
donc pour toi ca sera plutot
Process.Start(@"cmd.exe",@"/c MonProg.bat" );
 
 
dans les options de Process.Start il doit y en avoir une qui permet de cacher la fenetre que tu lance
va voir dans les docs MSDN.


Message édité par shreck le 13-02-2006 à 10:25:03
Reply

Marsh Posté le 13-02-2006 à 10:38:06    

Merci, je vais me renseigner.
 
Sinon si d'autres personnes connaissent d'autres moyens, je suis ouvert à toutes propositions (non-sexuelle bien sûr)

Reply

Marsh Posté le 13-02-2006 à 12:55:37    

Google pour RunHiddenConsole.exe, ce serait peut-être plus simple pour toi.

Reply

Marsh Posté le 22-02-2006 à 15:42:49    

wackevat a écrit :

Google pour RunHiddenConsole.exe, ce serait peut-être plus simple pour toi.


 
Désolé de revenir sur le sujet si tard mais j'ai eu quelques empêchements.
En me renseignant un peu, j'ai pu trouver quelques informations sur le "RunHiddenConsole" et cela ressemble très fortement à ce que je voudrais  :jap:  
 
Malheureusement, je n'arrive pas à le mettre en place.  
 
Si quelqu'un l'a déjà utilisé, je suis prêt à devenir son apprenti.
 
Merci
 
Edit : Finalement je penses avoir trouvé mon erreur. Par contre, une fois la fenêtre cachée, elle appparait dans les processus. Mais existe-t-il un quelconque moyen de la faire réapparaître ?  :pt1cable:


Message édité par Tyam le 22-02-2006 à 16:10:54
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed