2014-10-31 31 views
0

我捕捉用戶熱鍵選擇使用GuiControl,熱鍵,然後保存到ini。然後,我從ini文件中檢索熱鍵並在代碼中使用它。唯一的問題是使用修改熱鍵被保存爲AHK的簡寫,如^控制,當我嘗試在腳本中使用這個像這樣:如何使用非法字符在AHK如果InStr

key = ^2 
controlSend, ,%key%, ahk_id %id% 

遊戲只有真正收到「2」 。所以我寫了一個函數來刪除^,分別替換爲{LControl Down}和{LControl Up}。然而,它不會工作,因爲後面的代碼拋出和第二行「IfInString,^,輸入」中的非法字符錯誤,但我也假設它會在第四行。

convertModifier(input) { 
    IfInString, ^, input 
    { 
     output := {LControl Down} . SubStr(input, InStr(input, ^)+1) . {LControl Up} 
     return output 
    } 
} 

我已經嘗試使用`和\來逃脫^,但沒有運氣。有人有主意嗎?

非常感謝您的時間。

+0

你需要翻轉你的參數,它是'IfInString,輸入,^' – Sid 2014-10-31 17:15:15

回答

0

所以Sidola是正確的,我有針和堆棧錯誤的方式在我的IfInString。隨着其他一些問題的解決,這個解決方案開始像夢一樣工作。

謝謝西多拉。

相關問題