Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2192 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Comment lancer une aplli DOS en la cachant ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment lancer une aplli DOS en la cachant ?

n°582810
ToxicAveng​er
Posté le 04-12-2003 à 09:01:09  profilanswer
 

Bonjour,
 
via mon appli c#, je dois lancer des batch (en fait des scripts DB2, mais passons les détails voulez vous  :D)
 

Code :
  1. ProcessStartInfo v_myStartInfo = new ProcessStartInfo();
  2.       v_myStartInfo.CreateNoWindow = true;
  3.       v_myStartInfo.RedirectStandardError = true;
  4.       v_myStartInfo.UseShellExecute = false;
  5.       v_myStartInfo.RedirectStandardOutput = true;
  6.       v_myStartInfo.FileName = "toto.exe";
  7.       v_myStartInfo.Arguments = "blabla";
  8.       Process v_myProcess = Process.Start(v_myStartInfo);


 
Ca fonctionne mais la fenetre DOS s'affiche et ca fait pas top quoi... [:spamafote]
 
Si quelqu'un a une idée ? [:guiotv2]

mood
Publicité
Posté le 04-12-2003 à 09:01:09  profilanswer
 

n°583267
HappyHarry
Posté le 04-12-2003 à 19:19:50  profilanswer
 

j'l'ai fait au boulot, et la j'ai la flemme de chercher  
si demain j'y pense ...

n°583374
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 04-12-2003 à 21:55:10  profilanswer
 

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 :
  1. v_myStartInfo.WindowStyle = ProcessWindowStyle.Hidden;


Message édité par Harkonnen le 04-12-2003 à 21:57:01

---------------
J'ai un string dans l'array (Paris Hilton)
n°583540
ToxicAveng​er
Posté le 05-12-2003 à 08:43:29  profilanswer
 

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.
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 :
  1. v_myStartInfo.WindowStyle = ProcessWindowStyle.Hidden;




 
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 :o


Message édité par ToxicAvenger le 05-12-2003 à 08:44:18
n°583626
ToxicAveng​er
Posté le 05-12-2003 à 10:33:25  profilanswer
 

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).


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Comment lancer une aplli DOS en la cachant ?

 

Sujets relatifs
lancer un batch avec les options "cmd /V:ON" automatiquement ?[Access/ADO/SQL Server] Lancer des Access Reports basés sur SQLServer?
[VBA] Lancer un Access Report basé sur une table SQL Servercommande orbd pour lancer un serveur java corba
[ PHP / shell ] Lancer une applicationEasyPHP - MySQL veut plus se lancer :|
Minimiser ma fenetre DosRécupérer le contenu d'un écran DOS (caractères)
[DOS] nom du repertoire courant[DOS] concatenation
Plus de sujets relatifs à : Comment lancer une aplli DOS en la cachant ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR