Bonjour,
J'utilise l'API ShellExecute pour lancer un programme. Le choix de ShellExecute a été motivé par le fait que l'on peut, avec lui, lancer le programme avec les privilèges administrateur (impossible avec RunProgram(), et avec CreateProcess je n'ai rien trouver sur l'élévation non plus et ça complique pas mal le code aussi j'ai l'impression).
Seulement voilà avec ShellExecute, je ne trouve pas comment lancer mon programme et en attendre la fin d'exécution avant de poursuivre. Je n'ai rien trouvé la dessus ; Tous les ShellWait-Like que j'ai pu trouver sur le net, tous étaient basés sur RunProgram().
Quelqu'un pourrait-il m'aider, m'aiguiller (et aussi me corriger si je dis des âneries lol)
D'avance, merci
ShellExecute et attente de la fin d’exécution du programme
Re: ShellExecute et attente de la fin d’exécution du program
Code : Tout sélectionner
lpExecInfo.SHELLEXECUTEINFO
lpExecInfo\cbSize = SizeOf(SHELLEXECUTEINFO)
lpExecInfo\lpFile = @"Notepad.exe"
lpExecInfo\fMask=#SEE_MASK_DOENVSUBST | #SEE_MASK_NOCLOSEPROCESS | #SEE_MASK_FLAG_NO_UI
lpExecInfo\hwnd = #Null
lpExecInfo\lpVerb = @"runas"
lpExecInfo\lpParameters = #Null
lpExecInfo\lpDirectory = #Null
lpExecInfo\nShow = #SW_SHOW
ShellExecuteEx_(@lpExecInfo)
If lpExecInfo\hProcess <> #Null
Select WaitForSingleObject_(lpExecInfo\hProcess, #INFINITE)
Case #WAIT_OBJECT_0
Debug "Fin"
Default
Debug "Erreur Objet non signalé"
EndSelect
CloseHandle_(lpExecInfo\hProcess)
Else
Debug "Erreur Process non lancé"
EndIf
Re: ShellExecute et attente de la fin d’exécution du program
Merci, le code fonctionne très bien
Juste une chose qui m'étonne, le debug renvois 2 valeurs quand je lance le bloc-notes : Quand je ferme le bloc-notes il me renvois Fin, normal mais aussi Erreur Process non lancé tout de suite derrière. Mais bon comme ça fonctionne, j'y regarderais plus tard
Encore merci !
Juste une chose qui m'étonne, le debug renvois 2 valeurs quand je lance le bloc-notes : Quand je ferme le bloc-notes il me renvois Fin, normal mais aussi Erreur Process non lancé tout de suite derrière. Mais bon comme ça fonctionne, j'y regarderais plus tard
Encore merci !
.:NY152:.
Re: ShellExecute et attente de la fin d’exécution du program
pas sur mon seven 64 bits compilé en 32 ou 64 bits..NY152 a écrit : Quand je ferme le bloc-notes il me renvois Fin, normal mais aussi Erreur Process non lancé tout de suite derrière.
Re: ShellExecute et attente de la fin d’exécution du program
Cela fait lontemps que tu fait de la programmation?
Parce que ce que tu dis est tout simplement impossible, vu le code!
Parce que ce que tu dis est tout simplement impossible, vu le code!
Re: ShellExecute et attente de la fin d’exécution du program
En PB, je touche occasionnellement. Sinon l'erreur venait de PB lui-même, après un reboot, je n'ai plus eu l'erreur. Pourquoi ? Comment ? Ça j'en sais rien ^^
Donc tout est OK du coup !
Encore merci
Donc tout est OK du coup !
Encore merci
.:NY152:.