[..] WinActovate sur des programmes full screen ?

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
trust
Niveau 2
Niveau 2
Messages : 16
Enregistré le : mar. 11 août 2009 11:49
Status : Hors ligne

[..] WinActovate sur des programmes full screen ?

#1

Message par trust »

Re^^
Désolé de vous redéranger :x
Alors voilà, j'ai testé mon programme sur des fenêtres qui ne sont pas en full screen et ça marche, par contre sur des fenêtres en full screen, ça ne marche pas :s
Existe-t-il une fonction pour les fenêtres en full screen ?

Merci :)
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] WinActovate sur des programmes full scree

#2

Message par jbnh »

Les programmes full-screen s'active aussi avec winactivate... Vérifies que tu as bien entré les bonnes données.
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
trust
Niveau 2
Niveau 2
Messages : 16
Enregistré le : mar. 11 août 2009 11:49
Status : Hors ligne

Re: [..] WinActovate sur des programmes full screen ?

#3

Message par trust »

Re, bein c'est le cas :

Code : Tout sélectionner

#include <GUIConstants.au3>
Opt("GUIOnEventMode", 1)

;GUI
$Form1 = GUICreate("FC Leveler By anerax", 259, 92, (@DesktopHeight*50)/100, (@DesktopWidth/2*50)/100)
$Label1 = GUICtrlCreateLabel("Mode : Arrêt", 104, 8, 62, 17)
$Button1 = GUICtrlCreateButton("START", 24, 32, 217, 49, 0)
GUISetState(@SW_SHOW)

;EVENTS
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
GuiCtrlSetOnEvent($Button1, "CLICKButton")

While 1
  Sleep(1000)
WEnd

;FUNCTIONS
Func CLICKButton()
    $active=WinActivate("[Conquer2.0]")
    If $active <> 1 Then
        MsgBox(64,"Error","Veuillez allumer Conquete 2.0 !")
    Else

        While 1

            MouseDown("right")
            Sleep(3250)
        WEnd

    EndIf
EndFunc

Func CLOSEClicked()
    Exit
EndFunc
 
Si je remplace WinActivate("[Conquer2.0]") par WinActivate("ScriptVesselV3.29") ça marche u_u.
A cause des "[" "]" ?
Merci :)
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] WinActovate sur des programmes full screen ?

#4

Message par ani »

Bonjour trust,
conquer2 c'est le titre ?
si oui test winactivate("[title:[Conquer2.0]]") ou regarde la class avec au3info ;)

bonne continuation
trust
Niveau 2
Niveau 2
Messages : 16
Enregistré le : mar. 11 août 2009 11:49
Status : Hors ligne

Re: [..] WinActovate sur des programmes full screen ?

#5

Message par trust »

Avec [title:[Conquer2.0]] ça marche merci :)
Tu peux m'expliquer ce que ça fait que je comprenne ? :)
Merci :)

Ah aussi tant qu'à faire, une fois le programme en route c'est une boucle infinie, donc on ne peut plus fermer le programme avec la croix^^
Est-ce possible de mettre une boucle sans interrompre les autres fonctions ?

Merci :)
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] WinActovate sur des programmes full screen ?

#6

Message par ani »

le faite d'indiquer des crochets la fonction ne comprendra pas.
je n'ai pas testé la fonction en modifiant le titre d'une fenêtre et d'y faire appel par la suite, mais la meilleur solution est de passer par les descriptions avancées http://www.autoitscript.fr/autoit3/docs ... vanced.htm

title =: titre

Y a surement d'autre solution genre

Code : Tout sélectionner

$titre = WingetTitle("[conquer2.0]","")
If WinActive($titre) = 0 then 
    WinActivate($titre)
EndIf
On peut créer une fonction spécifique pour activer tel fenêtre en indiquant des retour d'erreur,
Voir documentation sur SetError & Return.

En ce qui concerne la boucle infinie tout dépend, si vous cliquez sur la croix il devrait fermer.

Pour l' événnementiel indiquez le plutôt avant l'affichage de la fenêtre.

Code : Tout sélectionner

GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
GuiCtrlSetOnEvent($Button1, "CLICKButton")
GUISetState(@SW_SHOW);Affichage de la fenêtre
Si le fonctionnement du close ne fonctionne toujours pas, utilisez la macro @GUI_CtrlID

Une macro sous autoit commence toujours par arobase (@)
Une variable sous autoit commence toujours par le signe dollar ($)

Code : Tout sélectionner

Func CLOSEClicked()
    Select
        Case @GUI_CtrlId = $GUI_EVENT_CLOSE
            Exit
    EndSelect
EndFunc
Est-ce possible de mettre une boucle sans interrompre les autres fonctions ?
Oui mais tout dépendra de la construction de votre script.

Je viend de voir que conquer est un jeux alors attention ;)
veuillez lire les régles du forum.

bonne lecture ;)
et bonne continuation.
Répondre