昨晚搞到近 2 點,終于把相關部分搞完了,放出個預覽版玩玩。這一版本將支持組合鍵,比如,可以分別改Q、Ctrl+Q、Alt+Q 等,也將支持所有鼠標操作。此外,增加了一個腳本系統,允許用戶進行更大程度上的自定義。
猛擊這里下載
腳本使用 lua 語言,格式大致為(正式版出來之前可能還會有改動):
目前支持的 API 有:
void PressKey(number vkcode [, boolean ctrl [, boolean shift [, boolean alt [, boolean win]]]]) | 按下某鍵。 第一個參數為虛擬鍵碼,也就是 Windows 的 VK_*,腳本里給出了一個 Keys 變量,可以直接使用 Keys.VK_*。其中 0 - 9 用 Keys.VK_0、……、Keys.VK_9,字母鍵用 Keys.VK_A、……、Keys.VK_Z。 后面四個表示狀態鍵是否被按下。默認 false。 若要按下 Ctrl+1,可寫成 PressKey(Keys.VK_1, true, false, false, false); 也可簡寫為 PressKey(Keys.VK_1, true)。 |
void ReleaseKey(number vkcode [, boolean ctrl [, boolean shift [, boolean alt [, boolean win]]]]) | 同上,放開某鍵。
|
void MoveMouse(number x, number y) | 移動鼠標到 (x, y) 位置。此坐標是相對于屏幕上最前面的那個窗口的客戶區的左上角的(以后將相對于魔獸窗口)。 |
void PressMouseButton(number button) button: 1 - Left 2 - Right 3 - XButton1 4 - XButton2 | 按下鼠標按鈕 |
void ReleaseMouseButton(number button) button: 1 - Left 2 - Right 3 - XButton1 4 - XButton2
| 放開鼠標按鈕 |
void MouseWheel(number button, number delta) button: 1 - VWheel 2 - HWheel
| 滾動鼠標滾輪 |
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 設置是否合理,腳本安全性如何控制,等等。
歡迎在下面評論中跟帖。
posted on 2010-05-10 13:46
溪流 閱讀(2640)
評論(7) 編輯 收藏 引用 所屬分類:
C++