ส่งรหัสใน AutoHotKey โดยไม่มีการสอบถามซ้ำ


2

ฉันต้องการแทนที่F1แต่ใช้SHIFT+ F1เป็นF1

ตกลงสิ่งนี้หมายความว่าอย่างไร ฉันต้องการแทนที่F1ด้วยคำสั่ง AHK ส่วนตัวของฉัน

F1::Run C:\..\foo.exe

แต่มีแอพที่ฉันต้องการF1คีย์เริ่มต้น เป็นไปได้ไหมที่จะทำอะไรซักอย่าง

+F1:: Send {F1} 

ไม่มีการเรียกซ้ำไปยังฮอตคีย์แรกของฉันหรือไม่
กล่าวอีกนัยหนึ่ง: ส่งกุญแจโดยไม่ต้องเรียกใช้ปุ่มลัด AHK ที่มีอยู่

ฉันหวังว่ามันชัดเจนว่าฉันขออะไร! :)

คำตอบ:


3

คุณสามารถใช้#UseHookคำสั่งเพื่อให้บรรลุสิ่งนี้

#UseHook, On

F1::    
    ; Your code...
    msgBox, Code!
return

+F1::Send, {F1}

ตามค่าเริ่มต้นปุ่มลัดที่ใช้ขอของแป้นพิมพ์จะไม่สามารถทริกเกอร์ได้โดยใช้คำสั่งส่ง

คุณสามารถอ่านเพิ่มเติมเกี่ยวกับสิ่งที่มันทำที่นี่: http://ahkscript.org/docs/commands/_UseHook.htm

หากคุณต้องการให้เอฟเฟกต์นี้กับบางคีย์คุณสามารถละเว้น#UseHookและนำหน้าคีย์ของคุณด้วย$สัญลักษณ์แทน

คุณสามารถอ่านเพิ่มเติมเกี่ยวกับคำนำหน้าดอลลาร์ได้ที่นี่: http://ahkscript.org/docs/Hotkeys.htm#prefixdollar

$F1::    
    ; Your code...
    msgBox, Code!
return

+F1::Send, {F1}

4
คำนำหน้าลัดของคุณด้วย$วิธีการทำเช่นเดียวกันที่รุนแรงน้อยกว่า ahkscript.org/docs/Hotkeys.htm#prefixdollar
Dane

@ เดนมาร์กจุดที่ดีฉันจะเพิ่มเข้าไปในคำตอบ!
Sidola
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.