Page 1 sur 1

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

Posté : lun. 28 avr. 2008 21:07
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

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

Posté : mar. 29 avr. 2008 13:02
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 ;)

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

Posté : lun. 20 déc. 2010 10:38
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

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

Posté : lun. 20 déc. 2010 13:52
par matwachich
Tout simplement génial!
Comme dit plus haut, avec la synthèse vocale ça pourrait faire de jolies choses!