Bonsoir j'ai un problème pour lancer excel à partir d'une fonction de ma dll, excel se lance bien (j'ai visualisé le processus) mais je n'ai pas vu excel apparaitre... Que faire? j'ai utilisé CreateProcess pour lancer Excel.
Merci
IRNBRU
Bonsoir j'ai un problème pour lancer excel à partir d'une fonction de ma dll, excel se lance bien (j'ai visualisé le processus) mais je n'ai pas vu excel apparaitre... Que faire? j'ai utilisé CreateProcess pour lancer Excel.
Merci
IRNBRU
salut,
voir shellexecute dans la faq et le forum .
tu peux preciser si l'application est visible ou non.
![]()
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
j'aimerai éviter cette fonction shellexecute elle est ancienne...
J'essaierai de résoudre par moi meme soupir.
IRNBRU
elle est pas démodée ni obsolète en tous cas ... elle est meme par certaines utilisations plus interessantes que CreateProcess
Sinon, il y a aussi ShellExecuteEx
En effet, et ShellExecuteEx a le mérite d'être compatible avec les fonctions d'erreur standard de Windows (GetLastError()/FormatMessage())
Pour lancer une application, j'aurais toutefois tendance à utiliser CreateProcess(), réservant ShellExecuteEx() à l'ouverture de documents...
Mais ShellExecuteEx() peut tout-à-fait marcher pour les deux...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Personne ne sait si c'est normal qu'excel soit bien lancé en processus mais on ne le voit pas??
Merci
Trouvé ! dans createprocess il y a une structure appelée STARTUPINFO (informations sur le démarrage du processus) il y a notamment dans cette structure un champs important appelé "wShowWindow" du type WORD (autrement dit un entier non signé de 16 bits), on met cette valeur à TRUE (valeur 1) ou FALSE (valeur 0). Dans mon programme c'était à false, j'ai eu du mal à la voir dans ce code complexe.
IRNBRU
mais normalement, il y a un flag STARTF_USESHOWWINDOW, et le champ wShowWindow est ignoré si ce flag n'est pas mis... Dans ce cas, le fait de le mettre à zéro n'est pas supposer avoir un effet...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Merci pour cette bonne précision importante, cela a été utilisé en fait, mais bon à savoir...
IRNBRU
Partager