Page 1 sur 1

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

Posté : jeu. 20 août 2015 14:24
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 ;)
@++

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

Posté : jeu. 20 août 2015 18:00
par Tlem
Bonjour, pour la circonstance, j'ai écrit la fonction MoveTaskBar. Ce code vous convient il ?
► Afficher le texte

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

Posté : jeu. 20 août 2015 19:38
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. ;)

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

Posté : jeu. 20 août 2015 21:44
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.

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

Posté : jeu. 20 août 2015 23:49
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

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

Posté : ven. 21 août 2015 10:09
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.

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

Posté : ven. 21 août 2015 11:47
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. ;)

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

Posté : ven. 21 août 2015 14:41
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

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

Posté : ven. 21 août 2015 14:51
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.



@+

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

Posté : ven. 21 août 2015 17:16
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:

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

Posté : ven. 21 août 2015 18:09
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

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

Posté : ven. 21 août 2015 18:44
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 ;)


@++