作者VElysian (家瑀 致中和)
看板EzHotKey
標題Re: [AHK-] 設定熱鍵的變數
時間Tue Aug 19 19:04:08 2008
※ 引述《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)