我是 Autohotkey 的新使用者。我正在嘗試重新映射鍵以便與 Outlook 一起使用。
RCtrl & Tab::
WinGet, Active_ID, ID, A
WinGet, Active_Process, ProcessName, ahk_id %Active_ID%
if (Active_Process = "Outlook.exe") {
Send !4
}
else {
Send ^{tab}
}
return
RCtrl & RShift & Tab::
WinGet, Active_ID, ID, A
WinGet, Active_Process, ProcessName, ahk_id %Active_ID%
if (Active_Process = "Outlook.exe") {
Send !5
}
else {
Send ^+{tab}
}
return
第一個映射按照我想要的方式工作(到目前為止(:),但是第二個映射給我一個錯誤:無效的熱鍵
我嘗試對此進行谷歌搜索,但找不到映射 RCtrl & Rshift & Tab 組合的正確方法。
對於某些背景,我試圖將用於從一封電子郵件跳到下一封電子郵件(當電子郵件在單獨的視窗中開啟時)的Alt + 4 對應到RCtrl + Tab,並希望將跳轉到的Alt + 5 對應到上一封電子郵件,轉到 RCtrl + RShift + Tab。
你知道這裡可能出現什麼錯誤嗎?
提前致謝。
答案1
我不相信您可以使用&
運算符創建兩個以上的鍵的組合。這是手動檢查 Shift 鍵狀態的替代方法:
RCtrl & Tab::
WinGet, Active_ID, ID, A
WinGet, Active_Process, ProcessName, ahk_id %Active_ID%
if (Active_Process = "Outlook.exe") {
If GetKeyState("RShift","P") {
Send !5
return
}
else {
Send !4
return
}
}
else {
Send ^{tab}
}
return