昨晚搞到近 2 點,終于把相關部分搞完了,放出個預覽版玩玩。這一版本將支持組合鍵,比如,可以分別改Q、Ctrl+Q、Alt+Q 等,也將支持所有鼠標操作。此外,增加了一個腳本系統,允許用戶進行更大程度上的自定義。
腳本使用 lua 語言,格式大致為(正式版出來之前可能還會有改動):
----------------------------------------------------------------------------- Extension = ExtensionName = "SampleExtension", --請勿修改 Configuration = Entrance = function (id) -- 入口函數 |
目前支持的 API 有:
void PressKey(number vkcode [, | 按下某鍵。
|
void ReleaseKey(number vkcode [, | 同上,放開某鍵。 |
void MoveMouse(number x, number y) | 移動鼠標到 (x, y) 位置。此坐標是相對于屏幕上最前面的那個窗口的客戶區的左上角的(以后將相對于魔獸窗口)。
|
void PressMouseButton(number button) | 按下鼠標按鈕
|
void ReleaseMouseButton(number button) | 放開鼠標按鈕
|
void MouseWheel(number button, number delta) | 滾動鼠標滾輪
|
void SetClipboard(string str) | 將一個字符串放到剪貼板
|
string AnsiToUtf8(string ansi) | 將 Ansi 字符串轉換為 UTF-8
|
width, height GetClientSize() | 取客戶區大小。目前是取屏幕上最前面的那個窗口的客戶區的大小(以后將會是魔獸窗口的大小)。
|
x, y GetCursorPosition() | 取鼠標光標當前位置。此坐標是相對于屏幕上最前面的那個窗口的客戶區的左上角的(以后將相對于魔獸窗口)。
|
void Delay(number milliseconds) | 等待一段時間,參數的單位是毫秒。
|
上面附件中的示例腳本實現了一次性扔掉物品欄所有物品的功能。請打開魔獸,然后按 Alt+1 來看效果。
論壇相應主題:http://forum.streamlet.org/thread-236-1-1.html
介紹到此結束。
最后,如果有興趣的,希望探討下,目前的腳本格式定義是否合理,API 設置是否合理,腳本安全性如何控制,等等。
歡迎在下面評論中跟帖。