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

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Zippo
Niveau 6
Niveau 6
Messages : 243
Enregistré le : mar. 30 nov. 2010 12:50
Status : Hors ligne

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

#1

Message 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!
Modifié en dernier par Zippo le ven. 11 févr. 2011 22:45, modifié 1 fois.
Avatar du membre
cutprod
Niveau 6
Niveau 6
Messages : 273
Enregistré le : jeu. 30 sept. 2010 17:25
Localisation : Sud Ouest
Status : Hors ligne

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

#2

Message par cutprod »

Bonjour,
Si tu veux arrêter le programme lancer par ton
ShellExecute("test")
utilise la fonction "WinClose"
Cut, srcipteur du dimanche...désolé !-)
Avatar du membre
Zippo
Niveau 6
Niveau 6
Messages : 243
Enregistré le : mar. 30 nov. 2010 12:50
Status : Hors ligne

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

#3

Message par Zippo »

Sela ne fonctionne pas... Ou alors donne moi un exemple s'il vous plait. Merci
Avatar du membre
cutprod
Niveau 6
Niveau 6
Messages : 273
Enregistré le : jeu. 30 sept. 2010 17:25
Localisation : Sud Ouest
Status : Hors ligne

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

#4

Message 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"
Cut, srcipteur du dimanche...désolé !-)
Avatar du membre
Zippo
Niveau 6
Niveau 6
Messages : 243
Enregistré le : mar. 30 nov. 2010 12:50
Status : Hors ligne

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

#5

Message 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
Avatar du membre
cutprod
Niveau 6
Niveau 6
Messages : 273
Enregistré le : jeu. 30 sept. 2010 17:25
Localisation : Sud Ouest
Status : Hors ligne

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

#6

Message par cutprod »

Il faut bien faire la différence entre ton gui "test" et ton .exe!
Ou est -il ?
Cut, srcipteur du dimanche...désolé !-)
Avatar du membre
Zippo
Niveau 6
Niveau 6
Messages : 243
Enregistré le : mar. 30 nov. 2010 12:50
Status : Hors ligne

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

#7

Message par Zippo »

Ne tkt pas ^^,
Il y a bien mon EXE a la place de test^^
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#8

Message 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. ;)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Zippo
Niveau 6
Niveau 6
Messages : 243
Enregistré le : mar. 30 nov. 2010 12:50
Status : Hors ligne

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

#9

Message 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
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#10

Message par Tlem »

Vous tombez donc dans la deuxième partie de ma proposition. :lol:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Zippo
Niveau 6
Niveau 6
Messages : 243
Enregistré le : mar. 30 nov. 2010 12:50
Status : Hors ligne

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

#11

Message 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 !! :)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#12

Message 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
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Zippo
Niveau 6
Niveau 6
Messages : 243
Enregistré le : mar. 30 nov. 2010 12:50
Status : Hors ligne

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

#13

Message par Zippo »

Oui ! Merci beaucoup Tlem ! :D

Tlem, is he God ?! Yes he is :D ... X°
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#14

Message 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.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre