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.
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...
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...
Merci pour cette bonne précision importante, cela a été utilisé en fait, mais bon à savoir...
IRNBRU
Partager