• <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 語(yǔ)言,格式大致為(正式版出來(lái)之前可能還會(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 來(lái)看效果。

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

             

            介紹到此結(jié)束。

             

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

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

            posted on 2010-05-10 13:46 溪流 閱讀(2664) 評(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
            只能說(shuō)VS很黃很無(wú)恥,它會(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ì)知無(wú)不言、言無(wú)不盡的。相信你能找到答案的。  回復(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)論
              
            国产精品午夜久久| 久久精品国产秦先生| 久久午夜无码鲁丝片秋霞 | 99精品国产综合久久久久五月天| 99久久国产热无码精品免费久久久久| 久久精品国产69国产精品亚洲| 97久久国产亚洲精品超碰热| 国产三级久久久精品麻豆三级| 久久99热这里只有精品国产| 久久精品国产99国产精品亚洲| 91久久精品91久久性色| 激情综合色综合久久综合| 久久成人国产精品免费软件| 91久久精品国产成人久久| 久久久久国产精品熟女影院| 久久久国产亚洲精品| 欧美一区二区精品久久| 伊人久久无码精品中文字幕| 国产精自产拍久久久久久蜜| 久久精品国产久精国产思思| 久久久这里只有精品加勒比| 久久精品亚洲乱码伦伦中文| 91超碰碰碰碰久久久久久综合| 97久久超碰国产精品2021| 亚洲日韩中文无码久久| 伊人久久大香线蕉精品不卡| 国产精品九九久久精品女同亚洲欧美日韩综合区| 亚洲七七久久精品中文国产| 91久久国产视频| 99久久综合国产精品二区| 国产精品久久久福利| 久久精品夜夜夜夜夜久久| 香蕉99久久国产综合精品宅男自 | 久久99国产亚洲高清观看首页 | 亚洲国产成人久久一区久久| 狠狠色丁香婷婷久久综合不卡| 久久天天躁狠狠躁夜夜avapp| 久久精品桃花综合| 思思久久精品在热线热| 亚洲欧美久久久久9999| 国产69精品久久久久观看软件|