Re: [AHK-] 設定熱鍵的變數
※ 引述《n0tme (who did this?)》之銘言:
: 一般的熱鍵啟動是
: $F12::
: 有沒有能讓使用者指定熱鍵的辦法?
: 用以下的方法會錯誤
: hotkey= F12
: $%hotkey%::
──────────────────────────────
程式碼區塊及檔名:
AutoHotKey.ahk : 所要修改的 AutoHotKey 檔案名稱。
#W:: …… return: 執行特定動作的程式碼
#Q:: …… return: 修改快速建設定的程式碼
變數:
oringinKey : 原來的快速鍵名稱 (例如 #W)
myKey : 使用者輸入的快速鍵名稱 (例如 E)
modifiedKey : 將 myKey 轉成快速鍵 (例如 #E)
content : AutoHotKey.ahk 的內容
流程:
1. 用 FileRead 讀取 AutoHotKey.ahk 檔案內容,放進 content 變數。
2. 讓使用者輸入要變更的快速鍵名稱(例如 E),放進 myKey 變數。
3. 將 myKey 變數做處理後放進 modifiedKey (例如 #E)。
(這樣是為了避免修改到其他程式碼,並為了以後維護而設定。)
4. 在 content 變數中搜尋 oringinKey 並取代成 modifiedKey。
5. 將 AutoHotKey.ahk 刪除。
6. 建立新的 AutoHotKey.ahk,並且將 content 內容寫入。
7. 顯示「工作完成」字樣。
8. 讓正在執行的 AutoHotKey.ahk 重新載入。
──────────────────────────────
程式碼如下:
originKey = #W ;設定 originalKey 的初值。
#W:: ; Win + W 會開始執行下面指令。
MsgBox , 我是要執行的程式。
return ; Win + W 結束。
#Q::
FileRead , content,AutoHotKey.ahk ;將 AutoHotKey.ahk 內容複製到 content
InputBox , myKey,,目前是%originKey%,要更改快速鍵為?,,,,,,,,%myKey%
;讓使用者輸入文字,內容會存進 myKey 變數。
modifiedKey = #%myKey% ; myKey前面加上 # 丟進modifiedKey
StringReplace , content, content, %originKey% , %modifiedKey% , All
FileDelete , AutoHotKey.ahk ;刪除 AutoHotKey.ahk。
FileAppend , %content% , AutoHotKey.ahk ;將content寫入新的AutoHotKey.ahk
MsgBox , 工作完成。 ;顯示「工作完成。」
Reload ;重新載入 AutoHotKey。
return
──────────────────────────────
說明:
FileRead , 存放變數, 檔案名稱及路徑
將特定檔案的所有內容放進指定變數中。
若沒有指定路徑,則預設是這個正在執行的 .ahk 檔的位置。
http://www.autohotkey.com/docs/commands/FileRead.htm
StringReplace , 存放變數, 被搜尋變數, 搜尋字串, 取代字串, 取代全部?
用搜尋字串搜尋被搜尋變數,並用取代字串取代;
完成之後將所有內容放進存放變數中。
取代全部? :
沒寫: 只取代第一個找到的字串。
1、A、All: 取代全部找到的字串。
http://www.autohotkey.com/docs/commands/StringReplace.htm
FileDelete , 檔案名稱及路徑
刪除特定檔案。若沒有指定路徑,則預設是這個正在執行的 .ahk 檔的位置。
http://www.autohotkey.com/docs/commands/FileDelete.htm
FileAppend , 文字, 檔案名稱及路徑
將指定文字加在指定檔案的尾端。如果檔案不存在則會建立新檔。
若沒有指定路徑,則預設是這個正在執行的 .ahk 檔的位置。
http://www.autohotkey.com/docs/commands/FileAppend.htm
InputBox , 存放變數, 標題, 顯示文字, *密碼符號
, 寬, 高, X 座標, Y 座標, 字型, 顯示時間
, 輸入欄預設文字
將使用者輸入的文字放進存放變數中。
http://www.autohotkey.com/docs/commands/InputBox.htm
──────────────────────────────
寫完了,希望對你有幫助。 ^_^
--
戰略高手 遊戲, 數位, 程設 [jzs/lostname
DigitalWare 軟體 Σ軟體 應用 技巧 [lostname]
EzHotKey 軟體 ◎簡化複雜工作的快速鍵軟體 VElysian
EzHotKey 主要討論一種可以把複雜的滑鼠鍵盤動作變成簡單的快速鍵的軟體。
例如: 重複的剪下貼上,或是將滑鼠調整音量的動作簡化成只按 +/- 鍵。
包括: AutoHotKey、AutoIt、EZScript、VBScript、Windows 批次檔。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.62.108.14
※ 編輯: VElysian 來自: 61.62.108.14 (08/19 19:13)
※ 編輯: VElysian 來自: 61.62.108.14 (08/19 19:14)
※ 編輯: VElysian 來自: 61.62.108.14 (08/19 20:23)
※ 編輯: VElysian 來自: 61.62.108.14 (08/19 21:40)
討論串 (同標題文章)
完整討論串 (本文為第 1 之 3 篇):
EzHotKey 近期熱門文章
PTT數位生活區 即時熱門文章