[..] Besoin d'aide pour un code d'activation d'un 2eme écran

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
steph034
Niveau 1
Niveau 1
Messages : 8
Enregistré le : lun. 11 avr. 2011 13:33
Status : Hors ligne

[..] Besoin d'aide pour un code d'activation d'un 2eme écran

#1

Message par steph034 »

Bonjour,

J'utilise le logiciel intelliremote (utilitaire de gestion de télécommande) pour commander un logiciel de mon PC (logiciel XBMC).
Il est possible sous ce logiciel d'utiliser du script autoIT pour chaque touche de la telecommande utilisée.

J'aimerais qu'à l'appui d'une touche, celle ci réalise ce que j'ai programmé (lecture, bas, haut, etc...) mais que cela se fasse exclusivement sur le deuxième écran (dans le cas d'un PC avec deux écrans et le deuxième en bureau étendu)

en effet si je manipule la souris sur le pc et l'écran 1, le focus de l'écran 2 est perdu et mes commandes teclo ne fonctionne pas

existe t-il des commandes "simples" autoIt permettant de réaliser cela ?

merci
Avatar du membre
sksbir
Niveau 7
Niveau 7
Messages : 384
Enregistré le : lun. 26 oct. 2009 17:57
Localisation : Lyon
Status : Hors ligne

Re: [..] Besoin d'aide pour un code d'activation d'un 2eme é

#2

Message par sksbir »

Bonjour

- Autoit permet de simuler la souris et le clavier : Dans ce cas là, c'est pas adapté, vu qu'il va entrer en concurrence avec tes actions à toi sur l'écran principal.

- Autoit permet de manipuler des fenêtres, par exemple avec la commande winactivate, ce qui redonne le focus sur la fenêtre choisie: Dans ce cas là, c'est pas adapté non plus, vu que tu vas perdre le focus sur la fenêtre où tu travailles.

De toute façon, tu peux pas t'en sortir si le logiciel que tu veux piloter n'a pas d'autres moyen de pilotage que sa fenêtre : tu vas forcément perturber ton propre travail sur l'écran principal.

Regarde du coté de VLC par exemple, il y a moyen de le piloter à distance sans passer par sa fenetre, on peut faire ça avec internet explorer également ( voir IE.au3 ). Pour ton logiciel, je ne sais pas.

Mais sinon, la commande que tu cherches pour reprendre le focus sur la fenêtre qui va bien, c'est "winactivate".
steph034
Niveau 1
Niveau 1
Messages : 8
Enregistré le : lun. 11 avr. 2011 13:33
Status : Hors ligne

Re: [..] Besoin d'aide pour un code d'activation d'un 2eme é

#3

Message par steph034 »

Bonjour, en fait mon logiciel est XBMC puis MPC HD (quand le film est lancé).

Le but aurait été que pour ces deux process uniquement les commandes envoyées soient en focus sur un écran, et toutes les autres commandes (tapées au clavier ou autre) soit sur le 1er écran.

Ou alors est ce que l'on peut activer l'écran 2 quand on envoi une ou chaque commande (au risque de bloquer pendant quelques secondes l'écran 1) ? a voir après les impacts que cela peut avoir.

Intelliremote peut donc envoyer des ordres pour commanders les deux logiciels mais on peut aussi coder pour chaque ordre un script autoIT, d'ou ma question car je ne connais pas l'étendu de ce mode de scripting.

merci
Avatar du membre
sksbir
Niveau 7
Niveau 7
Messages : 384
Enregistré le : lun. 26 oct. 2009 17:57
Localisation : Lyon
Status : Hors ligne

Re: [..] Besoin d'aide pour un code d'activation d'un 2eme é

#4

Message par sksbir »

Dans le principe, c'est pas les écrans qu'on active, mais des fenêtres. Autoit est capable de manipuler des fenêtres, et je pense qu'il est donc capable de faire ce que tu désires faire avec tes applications.

Je t'invite à t'installer autoit et l'éditeur qui est fourni avec, puis à consulter le tutoriel qui est proposé via l’icône en haut à gauche de cette page.
steph034
Niveau 1
Niveau 1
Messages : 8
Enregistré le : lun. 11 avr. 2011 13:33
Status : Hors ligne

Re: [..] Besoin d'aide pour un code d'activation d'un 2eme é

#5

Message par steph034 »

bonjour,

j'ai un peu avancé, l'activation fonctionne toujours si le programme actif est XBMC (la fenetre doit s'appelée pareil même si c'est un logiciel en plein écran sans nom de fenetre), enfin bon là c'est du tout bon.

Par contre quand je lance mes vidéos, là ca marche pas toujours, j'ai indiqué le nom de la fenetre (si on passe en mode avec fenetre on voit ce titre), mais le prog est lui aussi tjs lancé en full screen et sans affichage des menus et autres bandeaux, et je me demande bien si le script peut récéupérer ce nom dans ce ca là.

Voici la commande passée : WinActivate ("Media Player Classic Home Cinema v1.5.1.2958","")

n'existe pas un moyen simple pour activer l'écran ou un process donné (tjs le même) tourne ?

merci
overflow
Niveau 5
Niveau 5
Messages : 138
Enregistré le : sam. 05 déc. 2009 23:49
Status : Hors ligne

Re: [..] Besoin d'aide pour un code d'activation d'un 2eme é

#6

Message par overflow »

Dans l idée tu enregistre le nom de la fenêtre active
tu active la fenêtre désirée
tu exécute ta commande
et tu ré active la fenêtre enregistré au début
et fin de programme

pour enregistrer la fenetre active , ce bout de code peut faire l affaire

Code : Tout sélectionner


$LastActive=GetActive()
msgbox(0,"",$LastActive)

Func GetActive()
    $var = WinList()

    For $i = 1 to $var[0][0]

        If $var[$i][0] <> "" AND WinActive($var[$i][0]) Then 
            Return $var[$i][0]
        EndIf
    Next

EndFunc

 
après ca tu active la fenêtre voulu avec un "winactivate"

tu fait ta soupe . . . .

tu active la fenêtre sauvée "winactivate($LastActive)"

et ca doit être ca


tu doit pouvoir evité les prob de manip avec blockinput aussi
Répondre