2009-12-13 5 views
1

J'ai ce script AutoHotkey qui a un problème étrange. Il est utilisé dans 3 stations de travail, mais dans un, le ControlSend ne semble pas fonctionner car le raccourci clavier ne fonctionne pas dans le programme A. Les trois machines ont Windows XP et sont des machines de niveau Pentium 4 avec le même logiciel, le script est en exe forme. J'ai essayé plusieurs façons d'envoyer le raccourci clavier au programme A, mais rien ne semble fonctionner.AutoHotkey ControlSend problème sur une machine

L'idée du script est simplement d'attraper un raccourci clavier et de cliquer dans une autre fenêtre en plus de sa fonction normale. La fonction normale ne fonctionne tout simplement pas.

Des idées qui pourraient être la racine du problème et où je devrais le chercher?

#IfWinActive, Program A 
^H:: 
IfWinActive, Program A 
    { 
    ControlFocus, MDIClient1, Program A, , , 
    ControlSend, , ^H, Program A, , , 
    ControlClick, X46 Y135, Program B, , LEFT , 1 
    return 
    } 

Répondre

1

Une possibilité - vous spécifiez les coordonnées X et Y, et peut être ceux très relative. Les polices de caractères grandes ou petites, la résolution de l'écran, etc. peuvent causer des problèmes.

Cette instruction est pour le programme B, donc je ne suis pas sûr que ce soit votre problème. Vous pourriez essayer d'éliminer des parties du script et de les assigner à différentes touches de raccourci, puis de les essayer une à la fois.

EDIT: Je l'essayerais aussi sous forme non-exe (juste un script basique .ahk) et voir si cela fait une différence.

1

Autres choses à essayer:

  • Utilisation ^h au lieu de ^H (majuscules)
  • Essayez un raccourci clavier différent pour déclencher l'action
  • Toy avec ~^H, qui passe le raccourci clavier d'origine à travers (ce qui pourrait soyez difficile, puisque vous faites quelques clics après cela - je ne sais pas à quoi sert le script)
Questions connexes