題 AutoHotKey和Windows 8:Alt + Tab命令不起作用


無論我使用,我都無法工作

AltTab

要么

發送{Alt down} {tab} {Alt up}

我可以驗證其他命令是否有效,因為我可以讓我的熱鍵顯示MessageBox。似乎W8改變了足夠的東西來打破AHK Alt鍵+標籤 掛鉤。

尋找解決方法。我想要映射 LCtrl+標籤 至 Alt鍵+標籤 (以及它們的Shift版本)。


4
2017-07-15 01:25


起源




答案:


在可執行文件的嵌入式清單中設置UIAccess = true似乎可以解決此問題。可執行文件還必須位於受信任位置,例如Program Files文件夾。有關更多信息和對您進行必要修改的腳本,請查找 EnableUIAccess 在AutoHotkey論壇上。

感謝Cliff Smolinsky發布以下內容 協同問題跟踪器

Windows 8中已實施了許多安全更改,這些更改可防止不是Metro應用程序的程序注入將您從Metro環境中刪除的密鑰。這種方式的工作方式是,如果鍵盤快捷鍵不是來自物理鍵盤或具有適當權限的程序,則會忽略它。 [...]為了獲得適當的權限,必須使用UIAccess構建程序

除了MSDN上的以下模糊評論之外,我無法通過任何官方來源確認這一點:

輔助功能應用程序可以使用SendInput注入與shell處理的應用程序啟動快捷鍵相對應的擊鍵。此功能不保證適用於其他類型的應用程序。


7
2017-10-27 05:09



這個答案似乎可信。但是我不再用Windows 8進行測試了,所以我不能在良心上接受答案。如果你成功了,請評論! - Steven Lu


我發現我可以送一個 Alt鍵+標籤 以下內容:

F1 :: SendInput,!{Tab}

換句話說,我不得不將“發送”更改為“SendInput”以使其與Windows 8一起使用。


5
2017-10-10 02:36



我剛試過對我不起作用。 - powerboy


如果您使用的是AutoHotkey(基本版),則代碼庫自2009年9月以來尚未更新。顯然,Windows 8中的任何基本更改都未得到解決。 AutoHotkey_L 最新更新,本月最後一次更新。但是,看著 更新日誌,進一步的Windows 8支持是最小的。

如果您的腳本在安裝AutoHotkey_L後仍然無法工作,您可以嘗試另一個 發送 命令:

  • SendRaw
  • SendInput
  • SendPlay
  • 的SendEvent

否則,您只需要耐心等待開發人員加入對Windows 8的支持。


1
2017-07-15 02:18





第一個答案給了我一個跟隨,以及對我(對Vista)有用的是:

²::SendEvent, !{Tab}

謝謝!


1
2018-05-08 11:27