2014-02-12 815 views
3

我有一個相當簡單的autohotkey腳本,當我按下鼠標上的XButton時,啓動和停止音樂播放: XButton1::Send {Media_Play_Pause}。該程序工作正常,我沒有問題。但是,當我使用Notepad ++時,它會在AutoHotKey執行之前攔截鼠標按鈕熱鍵並切換選項卡。當我想使用這個熱鍵時,這迫使我從Notepad ++切換。如何在其他程序之前使AutoHotKey攔截熱鍵?

有沒有什麼辦法可以改變程序攔截熱鍵的順序,這樣AutoHotKey總是在任何輸入的按鍵或鼠標按鈕上得到第一個dib?

或者,我可以在Notepadd ++中更改設置以關閉XButton功能。我瀏覽了所有的設置,但是我無法找到任何方法來阻止它。

+0

嘗試腳本頂部的'#UseHook'。 – MCL

+0

沒有運氣。即使使用'#UseHook',它仍然表現相同。 – vividn

+0

也可以試試'#InstallMouseHook'。 – MCL

回答

2

好的。我想我設法弄清楚了。 問題是我以管理員身份運行Notepad ++,所以我猜它在熱鍵選擇中獲得了更高的優先級。運行AHK作爲管理員也解決了這個問題。

0

在記事本+ +,你可以去設置>快捷鍵映射...

如果你的X按鈕模擬鍵盤按鍵,你可能需要刪除相應的鍵盤快捷鍵。

+0

我也在那裏看過。它似乎只有鍵盤熱鍵,而不是標籤切換鼠標熱鍵。 – vividn

+0

字面上整個ahk腳本是:'XButton1 :: Send {Media_Play_Pause}'出現問題。 Notepad ++中Media_Play_Pause沒有鍵盤快捷鍵。 Notepad ++還記錄了它爲XButton實現了這種製表符切換行爲(不幸的是,並不是如何擺脫它)。 我很確定記事本++只是截獲AutoHotKey之前的熱鍵。 – vividn

0

我有一個與RDP窗口類似的問題。

無論何時RDP窗口處於活動狀態,它都會攔截所有按鍵,而我的腳本不會收到任何內容。

我解決了這個問題,如果活動窗口是RDP窗口,腳本每10秒檢查一次,如果是,則重新加載腳本。

如果你有需要保留的變量,你可以將它們存儲在一個INI文件中或作爲全局變量(這兩種解決方案都會使你的腳本慢下來)。

這不是一個完美的解決方案,因爲如果您剛打開Notepad ++,您的熱鍵將不會立即響應。