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

  FORUM HardWare.fr
  Programmation
  Divers

  [Windows] Comment lancer un programme en tache de fond ? RESOLU

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Windows] Comment lancer un programme en tache de fond ? RESOLU

n°311396
irulan
Posté le 17-02-2003 à 17:08:25  profilanswer
 

Nous avons une appli développée sous SAS qui va générer un fichier sous Word 97 (via lien DDE).
 
Pour des questions de buffer, dans le cas de gros fichiers Word, l'appli SAS va lancer et fermer Word plusieurs fois à la suite pour générer un document de taille importante (elle reprend à chaque ouverture là où elle en était restée à la dernière fermeture).
 
Le problème est le suivant : à chaque ouverture, Word se lance en premier plan. Or nos utilisateurs veulent pouvoir continuer de travailler sur l'appli pendant que celle-ci génère le fichier Word, ce qui n'est guère envisageable avec une fenêtre Word s'ouvrant et se fermant toutes les 30 secondes !
 
Comment lancer un programme sous Windows de façon à ce que celui-ci soit en arrière-plan ?
 
Merci pour vos suggestions !


Message édité par irulan le 17-02-2003 à 18:06:18
mood
Publicité
Posté le 17-02-2003 à 17:08:25  profilanswer
 

n°311401
HelloWorld
Salut tout le monde!
Posté le 17-02-2003 à 17:19:05  profilanswer
 

Je connais pas du tout DDE.
Si tu pouvais me donner des infos sur comment se passe le pilotage de Word via DDE.
Pour l'instant, moi je bataille avec COM/OLE et c'est pas trivial ...
J'aimerais savoir comment tu démarres Word.
D'apres ce que j'ai lu ici :
http://msdn.microsoft.com/library/ [...] change.asp
tu as un handle de la fenetre Word.
Comment l'obtiens-tu ?


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°311413
irulan
Posté le 17-02-2003 à 17:29:26  profilanswer
 

Désolé HelloWorld, je ne connais pas le détail de l'aspect technique du projet, je posais la question car nos prestataires ne savent pas comment résoudre ce problème ;)

n°311430
HelloWorld
Salut tout le monde!
Posté le 17-02-2003 à 17:43:40  profilanswer
 

Ben si tu veux lancer Word en tache de fond,  faut deja te demander ou c'est qu'il est lancé dans ton prog.
C'est ca que je te demande.


Message édité par HelloWorld le 17-02-2003 à 17:43:55

---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°311432
irulan
Posté le 17-02-2003 à 17:45:03  profilanswer
 

Petite précision : Word est lancé à partir d'un appel DOS à winword.exe, donc si vous connaissiez un petit paramètre qui permette de lancer une appli en arrière-plan ça serait super.
 
Edit : cela répond-t-il à ta question HelloWorld ?


Message édité par irulan le 17-02-2003 à 17:46:00
n°311437
HelloWorld
Salut tout le monde!
Posté le 17-02-2003 à 17:49:40  profilanswer
 

Eh beh voila !
Sauf que "appel DOS" je vois pas trop ce que c'est ... system() ?
Remplace par ShellExecute, ca devrait faire ton bonheur :
http://msdn.microsoft.com/library/ [...] xecute.asp
En dernier parametre, tu mets SW_HIDE.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°311448
irulan
Posté le 17-02-2003 à 17:57:55  profilanswer
 

Ben ce que j'appelle un appel DOS, c'est lorsque tu te mets sous l'invite de commande DOS, tu tapes 'winword.exe' et ça te lance Word sous Windows.
 
En gros l'appel à Word se fait sous SAS, qui lui-même passe par le DOS (la syntaxe sous SAS est du type 'blablabla winword.exe' où blalblabla est spécifique à SAS)
 
En fait ce que j'espérais, c'est qu'il existe un petit paramètre sous DOS (du genre -background :D) que tu utilises du style winword.exe -background te lances Word en arrière-plan ...
 
Ou éventuellement en passant par un petit .bat...
 
Mais je ne suis pas trop chaud pour utiliser des fonctions win32 j'ai peur que cela entraîne trop de trucs à dvper pour ce genre de prob ?

n°311457
irulan
Posté le 17-02-2003 à 18:06:00  profilanswer
 

Bon j'ai trouvé ce que je voulais : en fait sous l'invite de commande, il suffit de taper 'start /min' avant le nom du programme, et ca roule !
 
Pour essayer, vous pouvez taper 'start /min winword' et ça vous lance Word directement iconisé dans la barre des tâches.

n°311469
HelloWorld
Salut tout le monde!
Posté le 17-02-2003 à 18:14:36  profilanswer
 

J'y avais pensé mais je suis pas fan de ce procédé.
Tu peux rajouter /LOW aussi pour encore moins pénaliser les utilisateurs.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  [Windows] Comment lancer un programme en tache de fond ? RESOLU

 

Sujets relatifs
variable partagée [C] [résolu]MySQL : sélection multi-consoles pour un programme de news
[Delphi / VB] Besoin de comprendre un code Delphi (résolu)[HTML, JS][RESOLU] faudra qu'on m'explique
comment affecter a des variables la date du jour de windowsAide pour la CREATION d'un petit scripte ou programme
[JAVA] mettre du sons dans mon programme[Java][RESOLU] Compilation en cours d'execution
[.NET] Enumérations (problème résolu)URGENT: Menu pour lancer exécutable
Plus de sujets relatifs à : [Windows] Comment lancer un programme en tache de fond ? RESOLU


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