• <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  評(píng)論-947  文章-0  trackbacks-0

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

            猛擊這里下載

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

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

            Extension =
            {
                Application = "xlWarKey", --請(qǐng)勿修改
                Version = "3.0", --請(qǐng)勿修改
                NameSpace = ", --請(qǐng)勿修改

                ExtensionName = "SampleExtension", --請(qǐng)勿修改
                Description = "This is a sample extension.",

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

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

             

            目前支持的 API 有:

            void PressKey(number vkcode [,
                          boolean ctrl [, boolean shift [, boolean alt [, boolean win]]]])

            按下某鍵。
            第一個(gè)參數(shù)為虛擬鍵碼,也就是 Windows 的 VK_*,腳本里給出了一個(gè) Keys 變量,可以直接使用 Keys.VK_*。其中 0 - 9 用 Keys.VK_0、……、Keys.VK_9,字母鍵用 Keys.VK_A、……、Keys.VK_Z。
            后面四個(gè)表示狀態(tài)鍵是否被按下。默認(rèn) false。
            若要按下 Ctrl+1,可寫成 PressKey(Keys.VK_1, true, false, false, false);
            也可簡(jiǎn)寫為 PressKey(Keys.VK_1, true)。

             

            void ReleaseKey(number vkcode [,
                            boolean ctrl [, boolean shift [, boolean alt [, boolean win]]]])

            同上,放開某鍵。

            void MoveMouse(number x, number y)

            移動(dòng)鼠標(biāo)到 (x, y) 位置。此坐標(biāo)是相對(duì)于屏幕上最前面的那個(gè)窗口的客戶區(qū)的左上角的(以后將相對(duì)于魔獸窗口)。

             

            void PressMouseButton(number button)
                button: 1 - Left
                        2 - Right
                        3 - XButton1
                        4 - XButton2

            按下鼠標(biāo)按鈕

             

            void ReleaseMouseButton(number button)
                button: 1 - Left
                        2 - Right
                        3 - XButton1
                        4 - XButton2

            放開鼠標(biāo)按鈕

             

            void MouseWheel(number button, number delta)
                 button: 1 - VWheel
                         2 - HWheel

            滾動(dòng)鼠標(biāo)滾輪

             

            void SetClipboard(string str)

            將一個(gè)字符串放到剪貼板

             

            string AnsiToUtf8(string ansi)

            將 Ansi 字符串轉(zhuǎn)換為 UTF-8

             

            width, height GetClientSize()

            取客戶區(qū)大小。目前是取屏幕上最前面的那個(gè)窗口的客戶區(qū)的大小(以后將會(huì)是魔獸窗口的大小)。


             

            x, y GetCursorPosition()

            取鼠標(biāo)光標(biāo)當(dāng)前位置。此坐標(biāo)是相對(duì)于屏幕上最前面的那個(gè)窗口的客戶區(qū)的左上角的(以后將相對(duì)于魔獸窗口)。

             

            void Delay(number milliseconds)

            等待一段時(shí)間,參數(shù)的單位是毫秒。

             

             

            上面附件中的示例腳本實(shí)現(xiàn)了一次性扔掉物品欄所有物品的功能。請(qǐng)打開魔獸,然后按 Alt+1 來看效果。

            論壇相應(yīng)主題:http://forum.streamlet.org/thread-236-1-1.html

             

            介紹到此結(jié)束。

             

            最后,如果有興趣的,希望探討下,目前的腳本格式定義是否合理,API 設(shè)置是否合理,腳本安全性如何控制,等等。

            歡迎在下面評(píng)論中跟帖。

            posted on 2010-05-10 13:46 溪流 閱讀(2653) 評(píng)論(7)  編輯 收藏 引用 所屬分類: C++

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

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

            直接讀取0x6FAE8450正常,但是我不知道你是如何得到Game.dll 的基址的?
            是用的GetModuleHandle?
            我用這個(gè)返回值總是0.
              回復(fù)  更多評(píng)論
              
            # re: 溪流 WarKey 3.0 論壇預(yù)覽版 發(fā)布,支持Lua腳本 2010-05-13 17:10 | 溪流
            @airey
            忘了,應(yīng)該就是GetModuleHandle吧。。  回復(fù)  更多評(píng)論
              
            # re: 溪流 WarKey 3.0 論壇預(yù)覽版 發(fā)布,支持Lua腳本 2010-05-13 20:05 | airey
            @溪流
            你好。
            能告訴我你是如果做到的么?  回復(fù)  更多評(píng)論
              
            # re: 溪流 WarKey 3.0 論壇預(yù)覽版 發(fā)布,支持Lua腳本 2010-05-14 00:50 | 溪流
            @airey
            代碼在家里所以下午真的是忘了不是刻意隱瞞。
            盡管這根本算不上什么技術(shù)難題,可是,本著學(xué)習(xí)軟件發(fā)布、運(yùn)作過程的精神,我還是不想親口對(duì)潛在的競(jìng)爭(zhēng)對(duì)手透露現(xiàn)行產(chǎn)品的具體實(shí)現(xiàn)細(xì)節(jié)。
            如果沒有在這么一篇文章中,面臨一個(gè)不針對(duì)特定對(duì)象的問題,我會(huì)知無不言、言無不盡的。相信你能找到答案的。  回復(fù)  更多評(píng)論
              
            # re: 溪流 WarKey 3.0 論壇預(yù)覽版 發(fā)布,支持Lua腳本 2010-08-19 11:45 | 路青飛
            盡管這根本算不上什么技術(shù)難題,可是,本著學(xué)習(xí)軟件發(fā)布、運(yùn)作過程的精神,我還是不想親口對(duì)潛在的競(jìng)爭(zhēng)對(duì)手透露現(xiàn)行產(chǎn)品的具體實(shí)現(xiàn)細(xì)節(jié)。
            ------------------------
            很有商業(yè)意識(shí)嘛,哈哈  回復(fù)  更多評(píng)論
              
            成人国内精品久久久久影院| 久久综合久久伊人| 久久无码高潮喷水| 久久亚洲国产成人影院网站| 91精品国产91久久久久久蜜臀| 亚洲日本va中文字幕久久| 一级A毛片免费观看久久精品| 色综合久久综精品| 青青草原综合久久大伊人精品| 91久久精品91久久性色| 精品久久久久久国产潘金莲| 精品久久久久久久久午夜福利| 久久综合给合久久狠狠狠97色69| 伊人久久综合精品无码AV专区| 国产色综合久久无码有码| 亚洲成色WWW久久网站| 婷婷伊人久久大香线蕉AV| 97r久久精品国产99国产精| 欧美亚洲国产精品久久蜜芽| 久久精品中文字幕一区| 伊人久久大香线蕉AV一区二区 | 久久中文字幕人妻熟av女| 久久久一本精品99久久精品88| 狠狠色婷婷久久综合频道日韩| 狠狠综合久久综合88亚洲| 69SEX久久精品国产麻豆| 久久精品免费大片国产大片| 久久婷婷色综合一区二区| 91精品国产乱码久久久久久| 精品视频久久久久| 久久AV高清无码| 久久国产成人午夜aⅴ影院| 国产69精品久久久久9999APGF| 久久久久人妻一区精品性色av| 国产成人香蕉久久久久| 久久亚洲sm情趣捆绑调教| 久久综合狠狠色综合伊人| 人人妻久久人人澡人人爽人人精品 | 亚洲欧美久久久久9999| 91精品国产高清91久久久久久| 三级韩国一区久久二区综合|