• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-90  評論-947  文章-0  trackbacks-0

            昨晚搞到近 2 點,終于把相關部分搞完了,放出個預覽版玩玩。這一版本將支持組合鍵,比如,可以分別改Q、Ctrl+Q、Alt+Q 等,也將支持所有鼠標操作。此外,增加了一個腳本系統,允許用戶進行更大程度上的自定義。

            猛擊這里下載

            腳本使用 lua 語言,格式大致為(正式版出來之前可能還會有改動):

            -----------------------------------------------------------------------------
            -- SampleExtension.lua

            Extension =
            {
                Application = "xlWarKey", --請勿修改
                Version = "3.0", --請勿修改
                NameSpace = ", --請勿修改

                ExtensionName = "SampleExtension", --請勿修改
                Description = "This is a sample extension.",

                Configuration =
                {
                    setting1 = --設置項1(本例不使用)
                    {
                        Type = "number",
                        Desc = "Please input an integer."
                    },
                    setting2 = --設置項2(本例不使用)
                    {
                        Type = "string",
                        Desc = "Please input a string."
                    }
                    --其他設置項
                },

                Entrance = function (id) -- 入口函數
                    -- 所有代碼都請寫在這里
                    return true; --必須返回 true 或者 false。返回值意義目前暫未定義。
                end
            };
            ----------------------------------------------------------------------------

             

            目前支持的 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++

            評論:
            # re: 溪流 WarKey 3.0 論壇預覽版 發布,支持Lua腳本 2010-05-13 10:40 | Condor
            暈,還用LUA,這個在VS上可以使用嗎?
            現在VS不讓使用第3方插件了。  回復  更多評論
              
            # re: 溪流 WarKey 3.0 論壇預覽版 發布,支持Lua腳本 2010-05-13 15:09 | 溪流
            @Condor
            只能說VS很黃很無恥,它會搜索所有進程的主窗口文字,如果發現“改鍵”等字樣就強行關閉之。開個帶“改鍵”標題的瀏覽器都會被VS關掉。
            其實很多工具并不是所謂的“插件”。VS沒有權力認定用戶不能運行某些軟件。
              回復  更多評論
              
            # re: 溪流 WarKey 3.0 論壇預覽版 發布,支持Lua腳本 2010-05-13 17:03 | airey
            你好。
            請教你一個問題。

            魔獸1.24的聊天地址是0x6FAE8450,但是vs更新后,內存地址變了,但還是Game.dll +AE8450

            直接讀取0x6FAE8450正常,但是我不知道你是如何得到Game.dll 的基址的?
            是用的GetModuleHandle?
            我用這個返回值總是0.
              回復  更多評論
              
            # re: 溪流 WarKey 3.0 論壇預覽版 發布,支持Lua腳本 2010-05-13 17:10 | 溪流
            @airey
            忘了,應該就是GetModuleHandle吧。。  回復  更多評論
              
            # re: 溪流 WarKey 3.0 論壇預覽版 發布,支持Lua腳本 2010-05-13 20:05 | airey
            @溪流
            你好。
            能告訴我你是如果做到的么?  回復  更多評論
              
            # re: 溪流 WarKey 3.0 論壇預覽版 發布,支持Lua腳本 2010-05-14 00:50 | 溪流
            @airey
            代碼在家里所以下午真的是忘了不是刻意隱瞞。
            盡管這根本算不上什么技術難題,可是,本著學習軟件發布、運作過程的精神,我還是不想親口對潛在的競爭對手透露現行產品的具體實現細節。
            如果沒有在這么一篇文章中,面臨一個不針對特定對象的問題,我會知無不言、言無不盡的。相信你能找到答案的。  回復  更多評論
              
            # re: 溪流 WarKey 3.0 論壇預覽版 發布,支持Lua腳本 2010-08-19 11:45 | 路青飛
            盡管這根本算不上什么技術難題,可是,本著學習軟件發布、運作過程的精神,我還是不想親口對潛在的競爭對手透露現行產品的具體實現細節。
            ------------------------
            很有商業意識嘛,哈哈  回復  更多評論
              
            久久综合给合久久国产免费 | 亚洲国产精品无码久久| 精品国产青草久久久久福利| 色综合久久久久久久久五月| 久久国产欧美日韩精品| 久久精品中文字幕大胸| 久久国产香蕉一区精品| 69SEX久久精品国产麻豆| 欧美黑人又粗又大久久久| 99国产精品久久久久久久成人热| 一本色道久久88加勒比—综合| 日本强好片久久久久久AAA| 99久久综合狠狠综合久久止| 草草久久久无码国产专区| 国产精品一久久香蕉产线看 | 狠狠色婷婷久久一区二区| 久久婷婷五月综合97色直播| 久久综合久久久| av午夜福利一片免费看久久 | 国产精品久久久福利| 模特私拍国产精品久久| 国产精品久久久久影院色| 亚洲色大成网站WWW久久九九| 蜜桃麻豆www久久| 国产亚洲精久久久久久无码| 久久久午夜精品福利内容| 久久国产香蕉一区精品| 2020久久精品国产免费| 精品久久人人爽天天玩人人妻| 久久久久国产成人精品亚洲午夜| 久久精品人人做人人妻人人玩 | 久久夜色精品国产亚洲av| 久久久久中文字幕| 精品人妻久久久久久888| 亚洲狠狠婷婷综合久久蜜芽 | 国产亚州精品女人久久久久久| 国产午夜电影久久| 日本免费一区二区久久人人澡| www.久久热.com| 麻豆精品久久精品色综合| 久久99国产精品久久99果冻传媒|