Page 1 sur 1

[R] Fermer des EXE à partir d'une Gui

Posté : mar. 01 févr. 2011 19:01
par Zippo
Salut Salut,

J'aimerais arrêter des Exe dans une GUI

Code : Tout sélectionner

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$hGUI = GUICreate("test", 633, 454, 193, 125, BitOR($WS_SYSMENU,$WS_CLIPCHILDREN))
GUISetState(@SW_SHOW)

ShellExecute("test") ; on peut indiquer @sw_hide
WinWaitActive("test")
$WorPad= WinGetHandle("test")
_SetParent($WorPad, $hGUI)
WinSetState($WorPad, "", @SW_SHOWMAXIMIZED)

Do
Sleep(10)
Until GuiGetMsg() =-3

Func _SetParent($id_child, $h_parent)
    If Not IsHWnd($h_parent) Then $h_parent = HWnd($h_parent)
    If Not IsHWnd($id_child) Then $id_child = GUICtrlGetHandle($id_child)
    If DllCall("user32.dll", "hwnd", "SetParent", "hwnd", $id_child, "hwnd", $h_parent) <> 0 Then
        Return 1
    Else
        seterror(1)
        Return 0
    EndIf
EndFunc
Je voudrais quand je quitte ma gui que les programmes Exe s'arrête :)

Merci d'avance!

Re: [...]Eteindre des EXE dans une Gui

Posté : mar. 01 févr. 2011 20:40
par cutprod
Bonjour,
Si tu veux arrêter le programme lancer par ton
ShellExecute("test")
utilise la fonction "WinClose"

Re: [...]Eteindre des EXE dans une Gui

Posté : mar. 01 févr. 2011 21:36
par Zippo
Sela ne fonctionne pas... Ou alors donne moi un exemple s'il vous plait. Merci

Re: [...]Eteindre des EXE dans une Gui

Posté : mar. 01 févr. 2011 23:26
par cutprod
Comment ferme tu ton Gui ?
$hGUI = GUICreate("test", 633, 454, 193, 125, BitOR($WS_SYSMENU,$WS_CLIPCHILDREN))
GUISetState(@SW_SHOW)
en même temps que la commande qui le ferme fais =

Code : Tout sélectionner

WinClose ("test")
En sachant que "test" est le nom du programme que tu as essayé de lancer avec ton "ShellExecute", mais en fait ca ne va pas du tout y a un gros soucis car il te manque le chemin et l'extension du prog a lancer!!
ta commande "ShellExecute" est mal employé.
OU alors je me suis planter c'est pas ca !!
Dans ton code ou son les fameux .exe que tu veux fermer?
Tu peux utiliser "ProcessClose"
Regarde bien l'aide pour "ShellExecute"

Re: [...]Eteindre des EXE dans une Gui

Posté : mar. 01 févr. 2011 23:28
par Zippo
Sa marche toujours pas... C'est peut être le faite que sela soit dans la GUI.
Je vais délete la Gui et aprs processclose

Re: [...]Eteindre des EXE dans une Gui

Posté : mar. 01 févr. 2011 23:30
par cutprod
Il faut bien faire la différence entre ton gui "test" et ton .exe!
Ou est -il ?

Re: [...]Eteindre des EXE dans une Gui

Posté : mer. 02 févr. 2011 00:48
par Zippo
Ne tkt pas ^^,
Il y a bien mon EXE a la place de test^^

Re: [..] Fermer des EXE à partir d'une Gui

Posté : mer. 02 févr. 2011 08:21
par Tlem
"Test" est sensé représenter quoi ?
Un document ou un exécutable ?

Si c'est un exécutable, alors utilisez plutôt la commande Run qui vous renverra un PID.
Après, un simple ProcessClose($PID) suffira à fermer l'exe.

Si "Test" représente un document ouvert par une application genre traitement de texte, alors c'est sur la fenêtre (GUI) qu'il faut ce concentrer.
Dans ce cas, c'est bien WinGetHandle qu'il faut utiliser, mais il faut sans doute l'adapter à la situation, car d'une machine à l'autre, l'application par défaut pour ce type de document peut être différent.
Donc il faudra rechercher dans le titre de l'application le nom du document.
WinList peut sans doute vous aider. ;)

Re: [..] Fermer des EXE à partir d'une Gui

Posté : mer. 02 févr. 2011 19:02
par Zippo
Bonjour,

Test = Test.exe

Donc oui cela ouvre bien mon éxécutable sous SHELLEXECUTE mais avec Run, sa marche pas. Enfin, il ne me l'affiche pas dans la Gui

Re: [..] Fermer des EXE à partir d'une Gui

Posté : mer. 02 févr. 2011 19:12
par Tlem
Vous tombez donc dans la deuxième partie de ma proposition. :lol:

Re: [..] Fermer des EXE à partir d'une Gui

Posté : jeu. 03 févr. 2011 20:41
par Zippo
Tlem donne moi un petit exemple car j'ai tourné le problème dans tout les sens avec ton explication mais la mon cerveau est limité ^^ Car dans la GUI il y aura plusieurs programmes lancée..

Thank You !! :)

Re: [..] Fermer des EXE à partir d'une Gui

Posté : jeu. 03 févr. 2011 23:54
par Tlem
Je ne sais pas si ca va vous aider, mais voici quelque chose en rapport avec votre question.

Ce code est une démonstration de 'pilotage' ou de contrôle sur la fenêtre d'un autre processus :
► Afficher le texte

Re: [..] Fermer des EXE à partir d'une Gui

Posté : lun. 07 févr. 2011 21:03
par Zippo
Oui ! Merci beaucoup Tlem ! :D

Tlem, is he God ?! Yes he is :D ... X°

Re: [..] Fermer des EXE à partir d'une Gui

Posté : lun. 07 févr. 2011 21:05
par Tlem
Bien.
Alors juste pour précision, mon pseudo est tlem et non thlem. Je me suis donc permis de corriger votre message.

Ensuite :
N'oubliez pas la balise [R] dans le titre de votre premier message si votre sujet est résolu.