Page 1 sur 1

[..] Stop and start

Posté : ven. 04 avr. 2008 12:48
par rebirth
bonjour !
j'essaye d'utiliser Autoit sur un petit soft de musique tres basique afin de le synchroniser une boucle de musique puis de modifier les parametre en temps réel via autoit tout en utilisant parralellement un autre soft de musique qui lui est automatisé !

mon probleme est le suivant : afin de bien synchroniser les 2 soft de musique je suis ammené a relancer maintes et maintes fois autoit pour arriver a un truc sympa a ecouter , or , pour l instant je n ai pas trouver d'autres moyens que de couper Autoit et de le relancer mais au niveau synchro c'est quasi imposible , donc je supose qu'il existe une fonction qui permet de stopper un script et de le relancer au depart (en y assignant un touche quelconque par exemple) , j'ai bien compris comment faire pour que le script tourne en boucle mais par contre j ai beau chercher sur le forum , je trouve rien qui ressemble a ce que je recherche pour l'arreter et le refaire repartir au depart !

merci de bien vouloir m'aider

Re: [..] stop and start

Posté : ven. 04 avr. 2008 13:00
par eln
Bonjour

Tu peux utiliser :

Code : Tout sélectionner

HotKeySet
pour assigner une touche quelconque à une fonction.

Re: [..] stop and start

Posté : ven. 04 avr. 2008 13:31
par rebirth
si j ai bien compris , en definissant avec HotKeySet une touche , ca lancerait a nouveau le script !
c'est bien ce que je veux faire , par contre au niveau de la syntaxe est ce que c'est bien ecrit ?

Code : Tout sélectionner

HotKeySet("x", "Run (@AutoItExe&" "&@ScriptName)")
PS : je suis desolé , je dois demander des truc ultra-primaire pour certains d'entre vous , mais j'en suis vraiment a mes premiers pas !

Re: [..] stop and start

Posté : ven. 04 avr. 2008 13:55
par tolf
rebirth a écrit :je suis desolé , je dois demander des truc ultra-primaire pour certains d'entre vous
Faut pas être désolé : on a tous été débutants un jour et le forum est fait pour s'entraider.

Pour revenir au script, je ne te conseille pas de mettre le code directement dans la fonction HotKeySet. Essaye plutôt ceci :

Code : Tout sélectionner

HotKeySet("x", "lancer_le_script")

Func lancer_le_script ()
    Run (@AutoItExe & @ScriptName)
EndFunc

Re: [..] stop and start

Posté : ven. 04 avr. 2008 14:14
par eln
tolf a écrit :Run (@AutoItExe & @ScriptName)
Ne pas oublier l'espace sinon cela ne fonctionne pas, il me semble.

Code : Tout sélectionner

@AutoItExe & " " & @ScriptName

Re: [..] stop and start

Posté : ven. 04 avr. 2008 17:58
par tolf
oui, eln a raison : j'avais oublié l'espace ^^

Re: [..] Stop and start

Posté : ven. 11 avr. 2008 16:05
par rebirth
merci bien pour vos explication , desormais j arrive a bien faire repartir mon soft !

par contre , j'ai une autre question : comment savoir les coordonnées de la souris sur mon logiciel ? car actuellement j'y vais un peu au pif (avec 7-8 essais j y arrive quand meme) , donc je me demandais si il y avais pas un utlitaire inclus a autoit ou un logiciel externe qu on pourrais lancer afin de recuperer des coordonnées ?

merci encore pour votre aider

Re: [..] Stop and start

Posté : sam. 12 avr. 2008 11:57
par Pascalou
il y a "AutoIt Window Info"

dans le menu autoit

tu aura toute les infos sur ta fenetre et le x et y de la souris

Re: [..] Stop and start

Posté : sam. 12 avr. 2008 16:34
par arrkhan
Perso, je me suis fait ca pour me simplifier la vie...

Code : Tout sélectionner

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_outfile=ATP_XYPos.exe
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_Res_Fileversion=0.0.0.5
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
#AutoIt3Wrapper_Res_Language=1036
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include<GuiConstants.au3>
#include <Misc.au3>
_Singleton("ATP_XYPos.exe", 0)

Opt("TrayMenuMode", 1)
Opt("TrayOnEventMode",1)

$APPTitle = "ATP_XYPOS"
$XPosIni = IniRead(@ScriptDir & "\" & $APPTitle & ".ini", "Valeurs", "XPos", "0")
$YPosIni = IniRead(@ScriptDir & "\" & $APPTitle & ".ini", "Valeurs", "YPos", "0")

$Show = TrayCreateItem("Options")
TrayItemSetOnEvent(-1,"_Gui")
TrayCreateItem("")
$ExitItem = TrayCreateItem("Quitter")
TrayItemSetOnEvent(-1,"_ExitEvent")

TraySetState()
While 1
    _MousePos()
    sleep(10)
WEnd

func _ExitEvent()
    Exit
EndFunc

Func _MousePos()
    $Pos = MouseGetPos()
    Sleep(10)
    If $Pos[1] > @DesktopHeight - @DesktopHeight/15 and $Pos[0] > @DesktopWidth - @DesktopWidth/20 Then
        ToolTip($Pos[0] - $XPosIni & "," & $Pos[1] - $YPosIni, $Pos[0] - 60, $Pos[1]- 20)
    elseif $Pos[0] > @DesktopWidth - @DesktopWidth/20 Then  
        ToolTip($Pos[0] - $XPosIni & "," & $Pos[1] - $YPosIni, $Pos[0] - 60, $Pos[1])   
    ElseIf $Pos[1] > @DesktopHeight - @DesktopHeight/15 then    
        ToolTip($Pos[0] - $XPosIni & "," & $Pos[1] - $YPosIni, $Pos[0] + 10, $Pos[1]- 20)
    Else
        ToolTip($Pos[0] - $XPosIni & "," & $Pos[1] - $YPosIni, $Pos[0] + 10, $Pos[1])
        EndIf
EndFunc   ;==>_MousePos

Func _Gui()
    $Main = GUICreate($APPTitle, 200, 50)

    GUICtrlCreateLabel("definir le pixel d'entrée.", 10, 10)
    GUICtrlCreateLabel("XPos", 10, 30, 30, 15)
    $XPosIni = IniRead(@ScriptDir & "\" & $APPTitle & ".ini", "Valeurs", "XPos", "0")
    $XPos = GUICtrlCreateEdit($XPosIni, 40, 27, 30, 20, $ES_NUMBER)
    GUICtrlCreateLabel("YPos", 80, 30, 30, 15)
    $YPosIni = IniRead(@ScriptDir & "\" & $APPTitle & ".ini", "Valeurs", "YPos", "0")
    $YPos = GUICtrlCreateInput($YPosIni, 110, 27, 30, 20, $ES_NUMBER)
    $SaveButton = GUICtrlCreateButton("OK", 150, 27, 40, 20)
    GUICtrlSetState($SaveButton, $GUI_DEFBUTTON)

    GUISetState()
    While 1
        $msg = GUIGetMsg()
        If $msg = -3 Then
            GUIDelete($Main)
            ExitLoop
        EndIf
        Select
            Case $msg = $SaveButton
                IniWrite(@ScriptDir & "\" & $APPTitle & ".ini", "Valeurs", "XPos", GUICtrlRead($XPos))
                IniWrite(@ScriptDir & "\" & $APPTitle & ".ini", "Valeurs", "YPos", GUICtrlRead($YPos))
                GUIDelete($Main)
                Run(@ScriptFullPath)
                Exit
        EndSelect
    WEnd
EndFunc   ;==>_Gui
c'est plus facile que de jongler avec au3info

Edit: changement du code pour une version en trayoneventmode

Re: [..] Stop and start

Posté : jeu. 17 avr. 2008 23:02
par rebirth
Pascalou a écrit :il y a "AutoIt Window Info"

dans le menu autoit

tu aura toute les infos sur ta fenetre et le x et y de la souris
le probleme c'est que comme mon logiciel est en plein ecran , quand je clique sur la fenetre (pour le mettre en plein ecran) apres avoir lancé ""AutoIt Window Info" ca me donne les coordonnées de la souris de mon click mais pas de l endroit que je voudrais sur le logiciel !
j'ai du raté une etape , non ?

merci encore pour votre aide !

Re: [..] Stop and start

Posté : mer. 23 avr. 2008 10:57
par rebirth
quelqu un peut il m aidé pour ma requete avec la souris ?

merci

Ps : j'ai pas compris ce que je dois faire de ton script arrkhan ?
le copier dans dans un fichier autoit et le lancer ? et ca me donnera les coordonnées ?

Re: [..] Stop and start

Posté : mer. 23 avr. 2008 11:14
par arrkhan
rebirth a écrit :Ps : j'ai pas compris ce que je dois faire de ton script arrkhan ?
le copier dans dans un fichier autoit et le lancer ? et ca me donnera les coordonnées ?
C'est un script complet, qui te donnera en temps reel et tout le temp, la position de ta souris meme en plein ecran, tu copi le code tu l execute et c'est bon...