[R] Souci de déplacement de la barre des tâches Windows

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
franco
Niveau 7
Niveau 7
Messages : 343
Enregistré le : lun. 03 oct. 2011 22:37
Localisation : Liévin
Status : Hors ligne

[R] Souci de déplacement de la barre des tâches Windows

#1

Message par franco »

Bonjour.

Je souhaite en effet pouvoir déplacer, via un script AutoIt, la barre des tâches Windows.

Pour cela, et après recherche, ce topic (forum AutoIt US) apporte une solution : https://www.autoitscript.com/forum/topi ... e-taskbar/


Par contre, le souci : quand je veux mettre une interface graphique, ça foire.

Voici une capture de l'interface :
► Afficher le texteImage
En effet, j'ai créé un bouton (GAUCHE / HAUT / DROITE / BAS).
Et si je clique sur n'importe quel bouton, le curseur semble rester actif.

Je m'explique :
  • Si je déplace le curseur à droite (sans clic enfoncé), la barre se déplace à droite...
  • Si je déplace le curseur à gauche (sans clic enfoncé), la barre se met à gauche...
  • ...et ainsi de suite...
  • Par contre, si je reclique gauche, la barre ne s'est pas déplacé, elle revient à son état initial.
Bref, on dirait que je clique gauche enfoncé pour déplacer la barre : procédure de base.
Mais que le (re)clic gauche ensuite ne fait pas le "boulot" ^^


Voici mon script :
► Afficher le texteCode avec interface
Ce code fonctionne par contre (sans interface graphique) :
► Afficher le texteCode sans interface

pouvez-vous m'aider, m'aiguiller ?

Je pense que la souris reste active alors qu'elle ne doit pas l'être.
En gros, exécuter l'action sans que le curseur de la souris l'empêche.


Merci ;)
@++
Modifié en dernier par franco le ven. 21 août 2015 10:10, modifié 1 fois.
L'entraide, c'est mon dada ;)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11812
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Souci de déplacement de la barre des tâches Windows

#2

Message par Tlem »

Bonjour, pour la circonstance, j'ai écrit la fonction MoveTaskBar. Ce code vous convient il ?
► Afficher le texte
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
franco
Niveau 7
Niveau 7
Messages : 343
Enregistré le : lun. 03 oct. 2011 22:37
Localisation : Liévin
Status : Hors ligne

Re: [..] Souci de déplacement de la barre des tâches Windows

#3

Message par franco »

Salut Chef, et merci de votre réponse :D

Par contre, le code ne fonctionne pas.
Et je pense que cela est dû à mon système (windows 10) :mrgreen:

Et explorer.exe ne se relance pas, donc j'ai rajouté un shellexecute("explorer.exe") au cas où.
La barre reste à la même place.


J'aurais bien une solution : coder chaque changement (HAUT / BAS / GAUCHE / DROITE) indépendamment du script initial.
De les inclure avec un fileinstall et d'appeler "le fichier" en conséquence.


Quelque chose me dit que les données de la valeur settings ne doit pas être les mêmes sous Windows 10.


Je vais tenter de mon côté.


@+ et encore merci. ;)
L'entraide, c'est mon dada ;)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11812
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Souci de déplacement de la barre des tâches Windows

#4

Message par Tlem »

Hummm, j'avoue que Windows 10 ne faisait pas partie de l'équation.

Je viens juste de passer ma Surface en 10 mais pas assez de temps pour faire des tests.

Jetez un oeil sur la clé mentionnée dans le code que je vous ai donné en fonction de la position de votre barre. Peut être que Microsoft a modifier la gestion de cette clé. ^^

Envoyé de mon appareil mobile avec Tapatalk.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Souci de déplacement de la barre des tâches Windows

#5

Message par jguinch »

C'est bizarre que ça ne marche pas dès lors qu'on utilise une GUI... :shock:
J'ai le même comportement sur mon PC (Windows 7).

Ça marche si on passe par Send au lieu de ControlSend, je comprends pas trop pourquoi (j'ai essayé le WinActivate, ControlFocus avant mais non).
Voilà la fonction légèrement modifiée :
► Afficher le texte
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
franco
Niveau 7
Niveau 7
Messages : 343
Enregistré le : lun. 03 oct. 2011 22:37
Localisation : Liévin
Status : Hors ligne

Re: [..] Souci de déplacement de la barre des tâches Windows

#6

Message par franco »

Salut à tous :)

Et merci à mon sauveur de vert vêtu :mrgreen:
Ca fonctionne impeccable :D


D'ailleurs, j'ai fait aussi une version "clic droit sur le systray" et je rencontrais le même problème.
Je peux donc aussi le résoudre grâce à la fonction que tu as pris la peine de modifier.

Un grand merci à tous :)


Je passe en Résolu, et je repasserais pour mettre le code complet. 8)



EDIT :
Bon, je suis curieux de nature, donc je me permet de voir si j'ai bien saisi la chose.

En fait, si j'ai bien compris : le souci venait de ce bout de cette ligne :
ControlSend('[Class:Shell_TrayWnd]', '', '', '!{Space}' & '{l}' & '{Up}') ;Prepare TaskBar For Movement

Que tu as donc modifié en faisant par étape, c'est à dire mise en place d'un WinActivate suivi de la commande Send

Je ne connaissais pas la commande BlockInput. En clair, elle permet, le temps de la prise de contrôle de la barre des tâches, de désactiver la souris MAIS également le clavier.


Pour résumer :
Tu as remplacé cette ligne ControlSend('[Class:Shell_TrayWnd]', '', '', '!{Space}' & '{l}' & '{Up}') ;Prepare TaskBar For Movement par :

Code : Tout sélectionner

    BlockInput(1)
    WinActivate(WinGetHandle("[CLASS:Shell_TrayWnd]"))
    Send('!{SPACE}{l}{DOWN}')
    BlockInput(0)
 

Ai-je tout compris ?


En tout cas, j'aurais appris des choses 8)




@++ et bonne journée à tous.
L'entraide, c'est mon dada ;)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11812
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Souci de déplacement de la barre des tâches Windows

#7

Message par Tlem »

Bonjour.
Bon, je me suis installé un Win10 dans une VM pour faire des tests et effectivement, Microsoft à apporté une petite modification.
Au lieu d'utiliser la clé :

Code : Tout sélectionner

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects2
Il faut modifier la clé :

Code : Tout sélectionner

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects3
J'ai éditer mon précédent code afin d'adapter la fonction MoveTaskBar() à Windows 10. ;)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
franco
Niveau 7
Niveau 7
Messages : 343
Enregistré le : lun. 03 oct. 2011 22:37
Localisation : Liévin
Status : Hors ligne

Re: [R] Souci de déplacement de la barre des tâches Windows

#8

Message par franco »

Salut 8)


Merci Tlem, j'vais voir de suite ;)


En attendant, je viens de "finir" (je vais encore le peaufiner) le script :
- J'ai ajouté des options via le clic droit sur l'icone de notification
- et la possibilité de masquer / afficher la barre des tâches windows.

Le voici :
► Afficher le texteCode opérationnel
Maintenant, j'ai un script à étudier :mrgreen:



++ et thanks everyone :P
L'entraide, c'est mon dada ;)
Avatar du membre
franco
Niveau 7
Niveau 7
Messages : 343
Enregistré le : lun. 03 oct. 2011 22:37
Localisation : Liévin
Status : Hors ligne

Re: [R] Souci de déplacement de la barre des tâches Windows

#9

Message par franco »

Salut.

Oui c'est encore moi :lol:


Pour le script :
J'ai remplacé un bout de code et ça fonctionne :D

Mais j'ai toujours ce fichu souci de explorer.exe qui se ferme bien mais qui a peur de revenir. :mrgreen:


Vais voir pourquoi il a peur de ce que je peux le faire subir. ^^



Un grand merci en tout cas.



@+
L'entraide, c'est mon dada ;)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11812
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Souci de déplacement de la barre des tâches Windows

#10

Message par Tlem »

Bonjour.
Voici une version améliorée de mon code précédent :
► Afficher le texte
Fonctionne de Windows XP à Windows 10. :wink:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
franco
Niveau 7
Niveau 7
Messages : 343
Enregistré le : lun. 03 oct. 2011 22:37
Localisation : Liévin
Status : Hors ligne

Re: [R] Souci de déplacement de la barre des tâches Windows

#11

Message par franco »

Salut :)


Et merci à toi Tlem :)

Ca marche impeccable.

Maintenant, faut que je cherche comment relancer IE.
Ca doit être simple, donc je ne me fais pas de souci. ^^


@+ et bonne soirée à tous3
L'entraide, c'est mon dada ;)
Avatar du membre
franco
Niveau 7
Niveau 7
Messages : 343
Enregistré le : lun. 03 oct. 2011 22:37
Localisation : Liévin
Status : Hors ligne

Re: [R] Souci de déplacement de la barre des tâches Windows

#12

Message par franco »

Salut.

Je savais bien que c'était un truc tout simple.
J'ai même honte de m'être fait avoir. :mrgreen:

J'ai juste rajouté Run("explorer.exe") entre DllClose($Kernel32) et Return 1
:lol:


Sinon, ton script - par rapport au "masquage" de la barre des tâches, ne fait pas la vraiment même chose.
Donc impeccable, ça apporte de nouvelles possibilités. ;)


En effet, avec ton script, on peut activer le fameux "masquer automatiquement la barre des taches" (et aussi le verrouillage).
On va dire que dans mon script, je fais "pire" : je la cache en vrai. Voire "enlèvement" ^^ :lol:

Elle n'apparait plus et ne peut plus apparaitre, même si on survole avec le curseur.


Bref, sympa ;)


@++
L'entraide, c'est mon dada ;)
Répondre