溪流软件工作室
首页 程序库 软件作品 软件修改 在线工具 下载 文艺 关于

溪流 WarKey 3.0

(2015-02-13)


立即下载 溪流 WarKey 3.0.3.3


那些年,溪流 WarKey 诞生的故事



2007 年 8 月末,又一个暑假过去了。忍受开山鼻祖“WarKey”的丑陋界面和记忆按键代码将近一年之后,我终于下决心自己写一款类似软件。几天之后,当时命名为 xlWarKey 的软件就诞生了,版本号 1.0 beta1。那天,是 2007 年 8 月 28 日。

过了半个月,在吸收了室友的多方案创意之后,9 月 17 日,xlWarKey 1.0 带着多方案功能问世,并迅速流行。接下来的一年里,xlWarKey 分别出了 1.1,1.2,完善了功能。很欣喜地看到,市面上也涌现出了一批功能强大的改键软件,并纷纷跟进了多方案功能。

2009 年春节期间,xlWarKey 2.0 发布,新增了一对多功能。2.x 系列版本是后来流行的主要版本。当时有网友发现“诸司马技”曾使用 xlWarKey 2.3 版本。

遗憾的是,后来由于毕业、工作,我已无法投入大量时间进行维护和功能跟进、功能创新,但一直小小地坚持着。2.x 系列的最新版本为 2.5,2011 年 12 月 12 日发布。

2012 年 2 月 1 日,陆陆续续重写了一年多的 溪流 WarKey 3.0 版本发布,新增脚本控制功能……但随着魔兽争霸和真三国无双的江河日下,我不知道什么时候还会有新版本……

……

后记

持续更新中……



全部版本


3.x 系列


溪流 WarKey 3.0.3.3 (2015-02-13)
  1. Bug 修复。
溪流 WarKey 3.0.3.2 (2015-02-10)
  1. Bug 修复。
溪流 WarKey 3.0.3.1 (2012-12-20)
  1. Bug 修复。
溪流 WarKey 3.0.3.0 (2012-11-10)
  1. Bug 修复。
溪流 WarKey 3.0.2.1 (2012-05-15)
  1. Bug 修复。
溪流 WarKey 3.0 正式版 (2012-02-01)
  1. 提供关闭 Log 的选项。
  2. 其他小问题修正。
溪流 WarKey 3.0 beta2 (2012-01-08)
  1. 全部继承以前版本的功能(相对于 2.5 版)。
  2. 去除方案分组和组合键(相对于 3.0 beta1)。
  3. 继续支持 3.0 beta1 的鼠标按键的改键功能。
  4. 继续支持 3.0 beta1 的脚本功能。
  5. 增加新版本检测。
溪流 WarKey 3.0 beta1 (2010-08-30)
  1. 基本继承之前的功能,锁鼠暂未加上。
  2. 增加方案分组功能。
  3. 增加组合键功能(暂不支持组合键改组合键)。
  4. 增加鼠标按键的改键功能。
  5. 增加扩展脚本支持。

1.x 系列


xlWarKey 1.2 (2008-05-21)
  1. 进一步完善多方案功能。方案数目不限,可以对每个方案进行命名。
  2. 各个功能键均可以自定义。
xlWarKey 1.1 (2008-02-06)
  1. 修正 1.0 版本中不支持 Ctrl、Shift、Alt 的问题。
  2. 程序改为 Unicode 版本,使用 VS2008 编译,在 Vista 系统下可正常运行。
  3. 除了在程序正常退出时,每次应用方案的时候也作保存处理。
xlWarKey 1.0 final (2007-09-17)
  1. 多方案支持。
  2. 改回小界面,其它细节上也作了些修改。
xlWarKey 1.0 beta2 (2007-08-31)
  1. 功能开启或关闭由 Scroll Lock 指示灯决定,只要灯亮就开启。而不是看改键按了几次。
  2. 防止程序二次运行。
  3. 改为大界面。
  4. 修正了其它一些小问题,完善了程序。
xlWarKey 1.0 beta1 (2007-08-28)
  1. 实现改键、显血基本功能。小范围发布、测试。

2.x 系列


溪流 WarKey 2.5 (2011-12-12)
  1. 修复在某些平台下无法识别聊天状态的问题。
  2. 提供一些扩展性设置(见 Settings.ini)。
溪流 WarKey 2.42 (2011-05-21)
  1. 支持 War3 1.25、1.26 聊天识别。(相对于 2.41 版)
溪流 WarKey 2.41 (2010-04-19)
  1. 修复因 VS 平台强杀界面含“改键”二字的程序导致无故退出的问题。
溪流 WarKey 2.4 (2009-12-08)
  1. 修复在浩方平台某些房间不能正确识别聊天状态的问题;
  2. 修复正在聊天的时候切出 War3 后切回来无法自动显血的问题;
  3. 增加喊话功能。
溪流 WarKey 2.3 (2009-11-15)
  1. 修复在 War3 外无法改键的问题。
xlWarKey 2.22 (2009-10-25)
  1. 修复错误识别 War3 窗口进行鼠标锁定的问题;
  2. 修复测试功能。
xlWarKey 2.21 (2009-10-21)
  1. 解决 AA 对战平台下聊天识别失效的问题;
  2. 默认关闭鼠标锁定。
xlWarKey 2.2 (2009-10-20)
  1. 窗口化识别以及锁鼠;
  2. 支持魔兽争霸 1.24 版本聊天状态识别;
  3. 启用、停用方式使用 1.2 的风格,运行后默认不显示界面(但第一次运行会显示界面);
  4. 其他小修改。
xlWarKey 2.1 (2009-04-04)
  1. 提供三个选项:是否仅在 War3 中使用、是否检测聊天状态、是否在切换方案时提示;
  2. 支持魔兽争霸 1.23 版本聊天状态识别;
  3. 己方敌方显血重新分开;
  4. 其他操作细节上的改变。
xlWarKey 2.0 (2009-01-25)
  1. 支持一键对多键。
  2. 限制了改键起作用的范围,包括:
    a. 仅在魔兽争霸游戏内部有效,切出游戏后将自动暂停改键;
    b. 在游戏过程中打字聊天时也将自动暂停改键;
    c. 在 ALT 键被按下的时候改键将不起作用(使得诸如 ALT + Q 这样的操作不受影响);
    d. 增加“测试”窗口以方便在游戏外测试改键。
  3. 如果开启了显血,切出游戏再切回来,自动恢复显血。
  4. 在游戏中切换方案的时候使用聊天框提示当前方案名称。
  5. 方案可以重命名、复制。
  6. 合并己方显血、敌方显血的开关为同一个键。
  7. 如果在 Vista 及以上版本的系统中运行,将触发 UAC,请给予管理员权限。
  8. 去掉了原先的 DLL 文件,现在只需单 xlWarKey.exe 即可运行。
  9. 配置文件“xlKeyCfg.dat”仍然会生成,此文件格式与之前版本不兼容,需重新设置。
  10. 其他界面和操作上的细节变化,不一一列举了。


脚本格式和 API 说明


脚本格式如下:
Extension =
{
    Application   = "xlWarKey",
    Version       = "3.0",
    NameSpace     = "http://www.streamlet.org/Software/xlWarKey/",

    --以上三行固定

    ExtensionName = "SampleExtension",                  --脚本名称
    Author        = "YourName",                         --脚本作者
    Description   = "This extension is rather good.",   --脚本描述

    --参数配置,使用方法见 喊话.lua
    Configuration =
    {
        setting1  =
        {
            Type  = "number",
            Desc  = "Please input an integer."
        },
        setting2  =
        {
            Type  = "string",
            Desc  = "Please input a string."
        }
        -- ...
    },
    --运行时,上面 setting1 和 setting2 都将被直接替换为用户设置的值

    --入口函数
    Entrance      = function (id)   --参数 id 仅仅是保留着以便将来使用,目前请忽略
        local config = Extension.Configuration;


        -- 所有代码都请写在这里
        -- ...


        return true;    --返回值也保留,将来使用,请 return true。
    end
};


API 说明如下:

常量 Keys
    常用键值声明,方便使用
    分量:
    1、Windows 定义的 VK_*,如 Keys.VK_F1 表示 F1 键
    2、字母键和数字键,Keys.VK_A 到 Keys.VK_Z,Keys.VK_0 到 Keys.VK_9

常量 Mouse
    常用鼠标按键和滚轮声明,方便使用
    分量:
    1、鼠标按键,Mouse.LBUTTON,Mouse.RBUTTON,Mouse.MBUTTON,Mouse.XBUTTON1,Mouse.XBUTTON2
    2、鼠标滚轮,Mouse.WHEEL,Mouse.HWHEEL

函数 void DebugPrint(string message)
    向 Log 文件(xlWarKey.log)输出一行文字,供调试使用,调试完毕请删除
    参数 1:string,要输出的文字

函数 void PressKey(number vkcode [, boolean ctrl [, boolean shift [, boolean alt [, boolean win]]]])
    按下某键
    参数 1:number,要按下的键的虚拟键值,请使用常量 Keys.VK_* 指定
    参数 2:boolean,是否按住 Ctrl 键
    参数 3:boolean,是否按住 Shift 键
    参数 4:boolean,是否按住 Alt 键
    参数 5:boolean,是否按住 Win 键

函数 void ReleaseKey(number vkcode [, boolean ctrl [, boolean shift [, boolean alt [, boolean win]]]])
    放开某键
    参数同 PressKey

函数 void MoveMouse(number x, number y)
    移动鼠标光标
    参数 1:number,目标点的横坐标,坐标值为相对于系统前景窗口客户区左边的距离
    参数 2:number,目标点的纵坐标,坐标值为相对于系统前景窗口客户区上边的距离

函数 void PressMouseButton(number button)
    按下鼠标按键
    参数 1:number,要按下的鼠标键,请使用常量 Mouse.*BUTTON* 指定

函数 void ReleaseMouseButton(number button)
    放开鼠标按键
    参数同 PressMouseButton

函数 void MouseWheel(number button, number delta)
    滚动鼠标滚轮
    参数 1:number,要按下的鼠标键,请使用常量 Mouse.*WHEEL* 指定
    参数 2:number,要滚动的距离,正数向上(右)滚动,负数向下(左)滚动

函数 void SetClipboard(string text)
    设置剪贴板数据,此函数只能设置纯文本(CF_TEXT)数据格式

函数 number, number GetClientSize()
    取系统前景窗口客户区大小
    返回值 1:number,取得的宽度
    返回值 2:number,取得的高度

函数 number, number GetCursorPosition()
    取当前鼠标光标位置
    返回值 1:number,取得的横坐标,坐标值为相对于系统前景窗口客户区左边的距离
    返回值 2:number,取得的纵坐标,坐标值为相对于系统前景窗口客户区上边的距离

函数 void Delay(number milliseconds)
    脚本停止执行一定的时间,起到延时效果
    参数 1:number,延时时间,单位为毫秒

函数 string AnsiToUtf8(string ansi)
    ANSI 字符串转 UTF-8
    参数 1:string,ANSI 编码的字符串
    返回值 1:string,UTF-8 编码的字符串