• <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)寫(xiě)在這里
                    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,可寫(xiě)成 PressKey(Keys.VK_1, true, false, false, false);
            也可簡(jiǎn)寫(xiě)為 PressKey(Keys.VK_1, true)。

             

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

            同上,放開(kāi)某鍵。

            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

            放開(kāi)鼠標(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ì)是魔獸窗口的大?。?/p>


             

            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)打開(kāi)魔獸,然后按 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 溪流 閱讀(2640) 評(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)閉之。開(kāi)個(gè)帶“改鍵”標(biāo)題的瀏覽器都會(huì)被VS關(guān)掉。
            其實(shí)很多工具并不是所謂的“插件”。VS沒(méi)有權(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è)問(wèn)題。

            魔獸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)作過(guò)程的精神,我還是不想親口對(duì)潛在的競(jìng)爭(zhēng)對(duì)手透露現(xiàn)行產(chǎn)品的具體實(shí)現(xiàn)細(xì)節(jié)。
            如果沒(méi)有在這么一篇文章中,面臨一個(gè)不針對(duì)特定對(duì)象的問(wèn)題,我會(huì)知無(wú)不言、言無(wú)不盡的。相信你能找到答案的。  回復(fù)  更多評(píng)論
              
            # re: 溪流 WarKey 3.0 論壇預(yù)覽版 發(fā)布,支持Lua腳本 2010-08-19 11:45 | 路青飛
            盡管這根本算不上什么技術(shù)難題,可是,本著學(xué)習(xí)軟件發(fā)布、運(yùn)作過(guò)程的精神,我還是不想親口對(duì)潛在的競(jìng)爭(zhēng)對(duì)手透露現(xiàn)行產(chǎn)品的具體實(shí)現(xiàn)細(xì)節(jié)。
            ------------------------
            很有商業(yè)意識(shí)嘛,哈哈  回復(fù)  更多評(píng)論
              
            伊人精品久久久久7777| 狠狠色丁香久久婷婷综合五月| 亚洲精品97久久中文字幕无码| 久久国产色av免费看| 成人久久久观看免费毛片| 国产国产成人久久精品| 亚洲精品无码久久久久久| 国产视频久久| www性久久久com| 久久精品人人做人人爽电影| 久久九九有精品国产23百花影院| 狠狠色丁香婷婷久久综合| 久久成人18免费网站| 久久精品九九亚洲精品| 少妇无套内谢久久久久| 久久国产乱子伦精品免费午夜| 9久久9久久精品| 久久久久久人妻无码| 久久精品中文无码资源站| 欧美精品福利视频一区二区三区久久久精品 | 久久综合伊人77777麻豆| 国产精品久久久久久久久| 久久国内免费视频| 日产久久强奸免费的看| 国产福利电影一区二区三区,免费久久久久久久精 | 久久精品国产一区二区三区日韩| 久久国语露脸国产精品电影| 久久97久久97精品免视看秋霞| 久久综合九色综合97_久久久| 久久婷婷成人综合色综合| 精品国产青草久久久久福利| 一本一本久久a久久精品综合麻豆| 久久久国产精品| 久久久99精品一区二区| 欧美久久久久久午夜精品| 久久99精品久久久久久水蜜桃| 大美女久久久久久j久久| 丁香五月综合久久激情| 久久久久国产| 久久久久av无码免费网 | 久久久不卡国产精品一区二区|