2017-02-19 1 views
0

Ich bin ein kompletter Anfänger Idiot versucht, ein AutoHotKey-Skript zu schreiben, die eine Tastenkombination (in diesem Fall Windows-Taste + t) tut, wenn meine Maus in einer bestimmten Position ist auf dem Bildschirm (in diesem Fall unter 1070 Pixel). Das ist, was ich geschrieben habe. Ich denke nicht, dass es tatsächlich etwas bewirkt.Get AutoHotKey, Tastaturkürzel zu tun, wenn Maus in bestimmter Position

CoordMode, Mouse, Screen 
Check: 
MouseGetPos, yy 
if (yy < 1070) { 
    Send {LWin down}t{LWin up} 
Return 
} 

Die Syntax ist wahrscheinlich weg von dem, was AutoHotKey ist eigentlich aussehen sollte, aber nach ein paar Forenbeiträge lesen noch nicht sagen, was ich kann ich falsch gemacht habe. Vielen Dank!

+0

Ihr Code macht folgendes: Wenn autohotkey startet und der Mauszeiger sich innerhalb der 1070 Pixel des linken Randes befindet, simulieren Sie das Drücken von Window + T. Ist das wirklich was du wolltest? Einige rote Flags in Ihrem Code enthalten 1) mit 'yy' zum Speichern einer x-Koordinate, 2) ein Label, das nie verwendet wird (' Check: '), 3) Code ist nicht ereignisgesteuert (er läuft nur wenn autohotkey gestartet wird oder reloaded), 4) irreführender Einzug, der nicht zum Klammertextblock passt ('Return') –

Antwort

1

Dieser Code führt buchstäblich, was Sie für

fragte
Loop { 
    MouseGetPos, x, y 
    if (y < 1070){ 
     Send {LWin down}t{LWin up} 
    } 
    Sleep 10 ; Avoid excessive CPU usage 
} 

Während jedoch y < 1070 ist, wäre es ständig die Tastenkombination senden. Ich denke, Sie möchten nur, dass es die Tastenkombination sendet, wenn die Maus die Zone zuerst "betritt".

last_pos := 999999 ; Set initial value really high 
Loop { 
    MouseGetPos, x, y 
    if (y < 1070 && last_pos >= 1070){ 
     Send {LWin down}t{LWin up} 
    } 
    last_pos := y 
    Sleep 10 ; Avoid excessive CPU usage 
} 
0
#t:: ;This will assign the window + t key to do something 

{ 

Click 701,480  ;This clicks to a certain position on the screen. Autoit software can find the coordinates on the screen for you. 

Send Hello   ;This will write something in an area like if its on a webpage or something. 

Send {Return} 
    {Space} 
    {ESC} 
    {up}  ;The {} Hold different keystrokes to use- https://autohotkey.com/docs/commands/Send.htm 

Sleep 300  ;This allows you to pause the program, you may need something to finish loading in. 



} 

Dies ist nur einige Hintergrundinformationen für Sie Zukunft zu nutzen, hat sich mit, was Clive Galway für Sie gesagt haben sollte funktionieren, wenn die Position, die Sie etwas tun wollen gesetzt ist das Click verwenden ... ., .... wenn es jedoch an verschiedenen Stellen sein kann, verwenden Sie die obige Antwort.

Verwandte Themen