[..] Enfermer une application dans une fenetre

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
viny123456789
Niveau 1
Niveau 1
Messages : 5
Enregistré le : lun. 01 déc. 2008 21:56
Status : Hors ligne

[..] Enfermer une application dans une fenetre

#1

Message par viny123456789 »

Bonjour & Merci d'avance pour vos réponses

J'ai une application (déja existante) qui à la facheuse tendance à ouvrir plusieur entrée dans la barre de tache.

Détail lorsque je lance l'appli dans la barre démarrer j'ai 3 applis qui apparaissent, je ne trouve pas cela esthetique ni pratique.

Je voudrais avec votre aide créer un script qui lancerais l'application à l'intérieur d'une fénêtre et donc les fenêtres de mon application serrais contenu dans une fenetre unique.

En espérant que vous pourrez m'aider merci
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Enfermer une application dans une fenetre

#2

Message par Tlem »

Pouvez-vous être plus explicite ?

- Quel type d'application ? AutoIt ? Autre ?
- Vous parlez d'entrée ... Mais de quel type d'entrée parlez vous ?
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é".
viny123456789
Niveau 1
Niveau 1
Messages : 5
Enregistré le : lun. 01 déc. 2008 21:56
Status : Hors ligne

Re: [..] Enfermer une application dans une fenetre

#3

Message par viny123456789 »

En effet je peux être un peut plus clair

L'idée serrait de lancer mon application autoit, qu'une fenetre s'ouvre avec à l'intérieur (emprisonée) 2 fenêtres bloc note par exemple.

Dans la barre de tache si je reduit mon appli autoit je reduit ainsi avec l'ensemble de son contenu cad les 2 fenêtres bloc note.

Pour ce qui est de mon programme il s'agit d'une application pro qui ouvre pleins de fenetre à son lancement, je ne peut pas en dire plus sur son nom exact.

Merci pour vos réponses
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Enfermer une application dans une fenetre

#4

Message par Tlem »

Les fenêtres bloc note que vous devez 'emprisonner' dans votre GUI doivent elles avoir impérativement les outils du bloc note ou peut-il s'agir de simple champ de saisie de texte multilignes ?
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é".
viny123456789
Niveau 1
Niveau 1
Messages : 5
Enregistré le : lun. 01 déc. 2008 21:56
Status : Hors ligne

Re: [..] Enfermer une application dans une fenetre

#5

Message par viny123456789 »

L'idée c'est d'enfermer une application (peut importe laquelle) dans une fenetre.
Si vous voulez l'idéal serrait d'executer le processus notepad.exe dans une nouvelle fenetre.
Tous ce que genererait notepad.exe serrait bloqué dans cette fenetre.

Merci
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Enfermer une application dans une fenetre

#6

Message par Tlem »

Ce n'est sans doute pas parfait, mais c'est un début :

Code : Tout sélectionner

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

AutoItSetOption("WinTitleMatchMode", 4)

$gui = GUICreate("My GUI", 300, 200,0,0,BitOr($GUI_SS_DEFAULT_GUI,$WS_CLIPCHILDREN,$WS_SIZEBOX))

$pid = Run("notepad.exe", "", @SW_SHOW)
WinWait("[CLASS:Notepad]")
$child = WinGetHandle("[CLASS:Notepad]")
_SetParent($child,$gui)

GUISetState (@SW_SHOW)


While 1
    $msg = GUIGetMsg()
        If $msg = $GUI_EVENT_CLOSE Then ExitLoop
Wend


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
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é".
ethneldryt
Status : Hors ligne

Re: [..] Enfermer une application dans une fenetre

#7

Message par ethneldryt »

Je trouve ce code exercent mais j'ai une question moi,

comment enfermer plusieurs applications dedans?
par exemple je veux enfermer filezilla et ccleaner.
et a quoi correspond [CLASS:Notepad] ?
merci.
viny123456789
Niveau 1
Niveau 1
Messages : 5
Enregistré le : lun. 01 déc. 2008 21:56
Status : Hors ligne

Re: [..] Enfermer une application dans une fenetre

#8

Message par viny123456789 »

En effet cela ressemble a ce que je souhaite obtenir.
Mais je ne parvient pas à l'adapter exactement à mes besoins, serrait t'il possible plutot que de faire réference à la fenetre Notepad de faire reference au processus notepad.exe en effet lorsque j'ouvre le menu Fichier ouvrir celui ci s'ouvre hors de la fenetre gui.
Ce que je voudrais faire c'est non pas enfermer la fenetre mais l'application complète... et toutes les fenetres quelle pourrais générer en plus.

Merci beaucoup pour votre aide.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Enfermer une application dans une fenetre

#9

Message par Tlem »

J'ai cherché sur le forum Anglais sans rien trouvé d'autre de fonctionnel que ce que je vous ait proposé.

Je pense que c'est possible (difficilement) mais là je ne peut vous aider plus.
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