Comment lancer une aplli DOS en la cachant ? - C#/.NET managed - Programmation
Marsh Posté le 04-12-2003 à 19:19:50
j'l'ai fait au boulot, et la j'ai la flemme de chercher
si demain j'y pense ...
Marsh Posté le 04-12-2003 à 21:55:10
Sous quel OS es-tu ? Parce qu'il faut savoir que la propriété CreateNoWindow ne marche que sous NT/2000/XP et pas sous 98 car cette propriété encapsule le paramètre CREATE_NO_WINDOW de la fonction CreateProcess () de l'API Win 32, paramètre qui n'existe pas sous 98. Il y a une erreur dans la doc du framework qui indique que cette propriété est disponible aussi sous 98.
Si tu veux le faire sous 98, tu dois passer par Win32 et utiliser la fonction CreateProcess() en lui passant le flag DETACHED_PROCESS.
Sinon, si tu es sous NT/2000/XP, initialise en plus la propriété WindowStyle :
Code :
|
Marsh Posté le 05-12-2003 à 08:43:29
Harkonnen a écrit : Sous quel OS es-tu ? Parce qu'il faut savoir que la propriété CreateNoWindow ne marche que sous NT/2000/XP et pas sous 98 car cette propriété encapsule le paramètre CREATE_NO_WINDOW de la fonction CreateProcess () de l'API Win 32, paramètre qui n'existe pas sous 98. Il y a une erreur dans la doc du framework qui indique que cette propriété est disponible aussi sous 98.
|
Deja testaid bien sur (oublié de le préciser ^^), mais ca ne marche pas.... J'ai l'impression que ca prend le meme format que l'appli appelante :
1) J'ai un service (donc qui tourne en tache de fond) qui execute une appli dos : l'appli est aussi invisible
2) J'ai une appli windows Winform normal, j'appelle la meme appli dos (par la meme fonction ^^) et la miracle, elle est visible...
bizarre tout ca...
Edit:
*je suis sous 2k
*C'est un service windows, pas un webservice
Marsh Posté le 05-12-2003 à 10:33:25
ouais bon en fait ca vient de l'appli DOS qui "override" les propriétés du Process .net... (avec une autre appli dos ca fonctionne).
Marsh Posté le 04-12-2003 à 09:01:09
Bonjour,
via mon appli c#, je dois lancer des batch (en fait des scripts DB2, mais passons les détails voulez vous )
Ca fonctionne mais la fenetre DOS s'affiche et ca fait pas top quoi...
Si quelqu'un a une idée ?