[Ex] Exemple d'utilisation du menu popup des Msagents

Partagez vos scripts, et vos applications AutoIt.
Règles du forum
.
Répondre
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

[Ex] Exemple d'utilisation du menu popup des Msagents

#1

Message par sylvanie »

Bonjour,
depuis que j'ai vu quelque exemple de script avec les Msagents (merlin, ...) j'ai regardé de plus prêt et me suis heurté à la difficulté du menu contextuel. Maintenant que j'ai "vaincu la bête" voici le B-A BA de "comment faire un menu avec les MSagents"

Code : Tout sélectionner

$strAgentName = "merlin"
$strAgentPath = @WindowsDir&"\Msagent\Chars\" & $strAgentName & ".acs"

$Obj1 = ObjCreate("Agent.Control.2")
$Obj1.Connected = -1
$Obj1.Characters.Load ($strAgentName, $strAgentPath)
if @error then exit
$objCharacter = $obj1.Characters.Character($strAgentName)
$objCharacter.MoveTo(200, 200, 0)
$objCharacter.LanguageID = 2057
$objCharacter.Balloon.Style = 7;0 ballone text off
$objCharacter.Show

;ici on va s'enregistrer auprès des callbacks de type event de l'agent
$objEvent=ObjEvent($Obj1,"AgentEvents_")
ConsoleWrite("setevent="&@error&@CRLF)
;là on insère la ligne pour lancer le bloc notes à partir du menu popup de l'agent
$objCharacter.Commands.Add("notepadId","lancer notepad","",True,True)
;idem pour exit
$objCharacter.Commands.Add("exitId","Quitter","",True,True)
; on lui dit maintenant d'écouter
;$objCharacter.Listen("TRUE")
While 1
    Sleep(200)

WEnd

;implémentation de la surcharge à la fonction d'évènement de Commande (le clic dans le menu)
;le premier argument est un objet gérer par l'agent
Func AgentEvents_Command($userinput="")
    Local $ui=$userinput
    Local $fct
    ;Si $userinput, donc ui est un objet alors on continue
    If IsObj($ui) Then
        $fct=$ui.Name ; récupération de l'Id de l'item du menu cliqué
    Else 
        Return
    EndIf
    ; maintenant on lance les différentes action en fonction du nom récupéré
    Switch ($fct)
        Case "notepadId"
            Run("Notepad.exe")
        Case "exitId"
            Exit 0
        Case Else
            Return
    EndSwitch
EndFunc
Modifié en dernier par Tlem le sam. 13 déc. 2008 10:57, modifié 4 fois.
Raison : Quelques modifications typographique. ;)
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [Ex] Exemple d'utilisation du menu popup des Msagents

#2

Message par ani »

Excellent :)
faudrait faire un lien avec le post proposé par noservant (sur l'utilisation de la syntese vocal) ou encore bein je sais pas ;)
Avatar du membre
ThESeRvEuR
Niveau 4
Niveau 4
Messages : 50
Enregistré le : lun. 07 déc. 2009 10:29
Status : Hors ligne

Re: [Ex] Exemple d'utilisation du menu popup des Msagents

#3

Message par ThESeRvEuR »

J'ai trouvé l'idée sympa ... Mais quelque peu complexe à modifier pour mon niveau de connaissance AutoIt.
En revanche j'ai trouvé un lien sympa qui pourrait peut-être vous servir à le faire évoluer notamment au niveau des animations :wink:
Ben oui, lorsque le MSAgent s'endort on ne peut pas le réveiller :P

http://serge.knopf.free.fr/scripting/testAgent.htm
Tout est possible, tout est réalisable, c'est le jeu de la vie...
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [Ex] Exemple d'utilisation du menu popup des Msagents

#4

Message par matwachich »

Tout simplement génial!
Comme dit plus haut, avec la synthèse vocale ça pourrait faire de jolies choses!
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Répondre