Skip to content

WOW 防 AFK 工具

🏷️ 魔兽世界

怀旧服开了以后排队比较严重,所以做了一个模拟按键点击的工具,防止角色暂离后自动登出。

下载 PreventAFK.zip 解压后直接运行里面的 PreventAFK.exe

打开后界面如下:

默认配置的情况在点击快捷键 Win + F6 开始, Win + F7 结束。
默认配置执行操作:WSAD 和 空格 各按了半秒到 1 秒之间,然后停顿半秒到 1 秒。之后循环执行直到按了停止的快捷键

各配置参数的说明

模拟的配置保存在 config.json 文件中。格式为 json

  • SilimulationEvents

    配置模拟的键盘事件。

    • FirstKeySecondKey

      设置组合的按键。具体的键值参考后面的 附 1 ~ 附 3

    • DurationMinDurationMax

      配置按键按下后持续的时间(在最小和最大值之间随机),单位是毫秒。

    • IntervalTimeMinIntervalTimeMax

      配置按键松开后停留多长时间再继续执行后面的模拟按键(在最小和最大值之间随机)。单位也是毫秒。

  • StartHotKeyStopHotKey

    配置启动和停止的快捷键。
    其中 FirstKeySilimulationEvents 中的 FirstKey 的值是不一样的,手动修改的时候需要注意一下。
    具体的键值参考 附 4. StartHotKey.FirstKeyStopHotKey.FirstKey 可选值

默认配置如下(功能就是 WSAD 和 空格 各按了半秒到 1 秒中之间,然后循环执行直到按了停止的快捷键):

实际使用之后发现默认配置并不好用。原因在于 WS 键即使按下去相同的时间,走的距离并不一样。这个应该是因为向后走的速度较慢导致的,之前没考虑到。
另外 AD 键默认是调整方向,我一般习惯改成左右平移。左右平移的默认按键是 QE
修改后的配置如下(将下面的配置直接复制粘贴过去就可以直接使用了):

json
{
  "SilimulationEvents": [
    {
      "FirstKey": "None",
      "SecondKey": "Q",
      "DurationMin": 500,
      "DurationMax": 1000,
      "IntervalTimeMin": 500,
      "IntervalTimeMax": 1000
    },
    {
      "FirstKey": "None",
      "SecondKey": "E",
      "DurationMin": 500,
      "DurationMax": 1000,
      "IntervalTimeMin": 500,
      "IntervalTimeMax": 1000
    },
    {
      "FirstKey": "None",
      "SecondKey": "Space",
      "DurationMin": 500,
      "DurationMax": 1000,
      "IntervalTimeMin": 500,
      "IntervalTimeMax": 1000
    }
  ],
  "StartHotKey": {
    "FirstKey": "WindowsKey",
    "SecondKey": "F6"
  },
  "StopHotKey": {
    "FirstKey": "WindowsKey",
    "SecondKey": "F7"
  }
}

下载地址

  • 程序

    文件:PreventAFK.zip
    大小:259k
    MD5:17dfe7befff169f1089cb25c41110a4e

  • 代码(VS 2017)

    文件:PreventAFKSrc.zip
    大小:19.0k
    MD5:cf951bcdb1648bc82373b663e85a03d8

  • MD5 校验工具

    下载地址:winmd5

附 1. SilimulationEvent.FirstKey 常用值

Key说明
None没有按任何键。
ShiftShift 修改键。
ControlCtrl 修改键。
AltAlt 修改键。

附 2. SilimulationEvent.SecondKey 常用值

Key说明
Space空格键。
PageUpPage Up 键。
PageDownPAGE DOWN 键。
EndEnd 键。
HomeHome 键。
Left向左键。
Up向上键。
Right向右键。
Down向下键。
D00 键。
D11 键。
D22 键。
D33 键。
D44 键。
D55 键。
D66 键。
D77 键。
D88 键。
D99 键。
AA 键。
BB 键。
CC 键。
DD 键。
EE 键。
FF 键。
GG 键。
HH 键。
II 键。
JJ 键。
KK 键。
LL 键。
MM 键。
NN 键。
OO 键。
PP 键。
QQ 键。
RR 键。
SS 键。
TT 键。
UU 键。
VV 键。
WW 键。
XX 键。
YY 键。
ZZ 键。
NumPad0数字键盘上的 0 键。
NumPad1数字键盘上的 1 键。
NumPad2数字键盘上的 2 键。
NumPad3数字键盘上的 3 键。
NumPad4数字键盘上的 4 键。
NumPad5数字键盘上的 5 键。
NumPad6数字键盘上的 6 键。
NumPad7数字键盘上的 7 键。
NumPad8数字键盘上的 8 键。
NumPad9数字键盘上的 9 键。
F1F1 键。
F2F2 键。
F3F3 键。
F4F4 键。
F5F5 键。
F6F6 键。
F7F7 键。
F8F8 键。
F9F9 键。
F10F10 键。
F11F11 键。
F12F12 键。

附 3. SilimulationEvent.FirstKey 和 SilimulationEvent.SecondKey 所有可用值

Key说明
Modifiers从键值提取修饰符的位屏蔽。
None没有按任何键。
LButton鼠标左按钮。
RButton鼠标右按钮。
CancelCancel 键。
MButton鼠标中按钮(三个按钮的鼠标)。
XButton1第一个 X 鼠标按钮(五个按钮的鼠标)。
XButton2第二个 X 鼠标按钮(五个按钮的鼠标)。
BackBackspace 键。
TabTab 键。
LineFeedLINEFEED 键。
ClearClear 键。
ReturnReturn 键。
EnterEnter 键。
ShiftKeyShift 键。
ControlKeyCTRL 键。
MenuAlt 键。
PausePause 键。
CapitalCAPS LOCK 键。
CapsLockCAPS LOCK 键。
KanaModeIME Kana 模式键。
HanguelModeIME Hanguel 模式键。(为了保持兼容性而设置;使用 HangulMode)
HangulModeIME Hangul 模式键。
JunjaModeIME Junja 模式键。
FinalModeIME 最终模式键。
HanjaModeIME Hanja 模式键。
KanjiModeIME Kanji 模式键。
EscapeEsc 键。
IMEConvertIME 转换键。
IMENonconvertIME 非转换键。
IMEAcceptIME 接受键,替换 System.Windows.Forms.Keys.IMEAceept。
IMEAceeptIME 接受键。已过时,请改用 System.Windows.Forms.Keys.IMEAccept。
IMEModeChangeIME 模式更改键。
Space空格键。
PriorPage Up 键。
PageUpPage Up 键。
NextPAGE DOWN 键。
PageDownPAGE DOWN 键。
EndEnd 键。
HomeHome 键。
Left向左键。
Up向上键。
Right向右键。
Down向下键。
SelectSelect 键。
PrintPrint 键。
ExecuteEXECUTE 键。
SnapshotPrint Screen 键。
PrintScreenPrint Screen 键。
InsertINS 键。
DeleteDEL 键。
HelpHELP 键。
D00 键。
D11 键。
D22 键。
D33 键。
D44 键。
D55 键。
D66 键。
D77 键。
D88 键。
D99 键。
AA 键。
BB 键。
CC 键。
DD 键。
EE 键。
FF 键。
GG 键。
HH 键。
II 键。
JJ 键。
KK 键。
LL 键。
MM 键。
NN 键。
OO 键。
PP 键。
QQ 键。
RR 键。
SS 键。
TT 键。
UU 键。
VV 键。
WW 键。
XX 键。
YY 键。
ZZ 键。
LWin左 Windows 徽标键(Microsoft Natural Keyboard,人体工程学键盘)。
RWin右 Windows 徽标键(Microsoft Natural Keyboard,人体工程学键盘)。
Apps应用程序键(Microsoft Natural Keyboard,人体工程学键盘)。
Sleep计算机睡眠键。
NumPad0数字键盘上的 0 键。
NumPad1数字键盘上的 1 键。
NumPad2数字键盘上的 2 键。
NumPad3数字键盘上的 3 键。
NumPad4数字键盘上的 4 键。
NumPad5数字键盘上的 5 键。
NumPad6数字键盘上的 6 键。
NumPad7数字键盘上的 7 键。
NumPad8数字键盘上的 8 键。
NumPad9数字键盘上的 9 键。
Multiply乘号键。
Add加号键。
Separator分隔符键。
Subtract减号键。
Decimal句点键。
Divide除号键。
F1F1 键。
F2F2 键。
F3F3 键。
F4F4 键。
F5F5 键。
F6F6 键。
F7F7 键。
F8F8 键。
F9F9 键。
F10F10 键。
F11F11 键。
F12F12 键。
F13F13 键。
F14F14 键。
F15F15 键。
F16F16 键。
F17F17 键。
F18F18 键。
F19F19 键。
F20F20 键。
F21F21 键。
F22F22 键。
F23F23 键。
F24F24 键。
NumLockNUM LOCK 键。
ScrollScroll Lock 键。
LShiftKey左 Shift 键。
RShiftKey右 Shift 键。
LControlKey左 Ctrl 键。
RControlKey右 Ctrl 键。
LMenu左 Alt 键。
RMenu右 Alt 键。
BrowserBack浏览器后退键(Windows 2000 或更高版本)。
BrowserForward浏览器前进键(Windows 2000 或更高版本)。
BrowserRefresh浏览器刷新键(Windows 2000 或更高版本)。
BrowserStop浏览器停止键(Windows 2000 或更高版本)。
BrowserSearch浏览器搜索键(Windows 2000 或更高版本)。
BrowserFavorites浏览器收藏夹键(Windows 2000 或更高版本)。
BrowserHome浏览器主页键(Windows 2000 或更高版本)。
VolumeMute静音键(Windows 2000 或更高版本)。
VolumeDown减小音量键(Windows 2000 或更高版本)。
VolumeUp增大音量键(Windows 2000 或更高版本)。
MediaNextTrack媒体下一曲目键(Windows 2000 或更高版本)。
MediaPreviousTrack媒体上一曲目键(Windows 2000 或更高版本)。
MediaStop媒体停止键(Windows 2000 或更高版本)。
MediaPlayPause媒体播放暂停键(Windows 2000 或更高版本)。
LaunchMail启动邮件键(Windows 2000 或更高版本)。
SelectMedia选择媒体键(Windows 2000 或更高版本)。
LaunchApplication1启动应用程序一键(Windows 2000 或更高版本)。
LaunchApplication2启动应用程序二键(Windows 2000 或更高版本)。
OemSemicolon美式标准键盘上的 OEM 分号键(Windows 2000 或更高版本)。
Oem1OEM 1 键。
Oemplus任何国家/地区键盘上的 OEM 加号键(Windows 2000 或更高版本)。
Oemcomma任何国家/地区键盘上的 OEM 逗号键(Windows 2000 或更高版本)。
OemMinus任何国家/地区键盘上的 OEM 减号键(Windows 2000 或更高版本)。
OemPeriod任何国家/地区键盘上的 OEM 句点键(Windows 2000 或更高版本)。
OemQuestion美式标准键盘上的 OEM 问号键(Windows 2000 或更高版本)。
Oem2OEM 2 键。
Oemtilde美式标准键盘上的 OEM 波形符键(Windows 2000 或更高版本)。
Oem3OEM 3 键。
OemOpenBrackets美式标准键盘上的 OEM 左括号键(Windows 2000 或更高版本)。
Oem4OEM 4 键。
OemPipe美式标准键盘上的 OEM 管道键(Windows 2000 或更高版本)。
Oem5OEM 5 键。
OemCloseBrackets美式标准键盘上的 OEM 右括号键(Windows 2000 或更高版本)。
Oem6OEM 6 键。
OemQuotes美式标准键盘上的 OEM 单/双引号键(Windows 2000 或更高版本)。
Oem7OEM 7 键。
Oem8OEM 8 键。
OemBackslashRT 102 键的键盘上的 OEM 尖括号或反斜杠键(Windows 2000 或更高版本)。
Oem102OEM 102 键。
ProcessKeyProcess Key 键。
Packet用于将 Unicode 字符当作键击传递。Packet 键值是用于非键盘输入法的 32 位虚拟键值的低位字。
AttnATTN 键。
CrselCrsel 键。
ExselExsel 键。
EraseEofERASE EOF 键。
PlayPLAY 键。
ZoomZOOM 键。
NoName保留以备将来使用的常数。
Pa1PA1 键。
OemClearClear 键。
KeyCode从键值提取键代码的位屏蔽。
ShiftShift 修改键。
ControlCtrl 修改键。
AltAlt 修改键。

附 4. StartHotKey.FirstKeyStopHotKey.FirstKey 可选值

配置快捷键的 Key 和 事件里的 Key 有些区别。

Key说明
None没有按任何键。
ShiftShift 修改键。
CtrlCtrl 修改键。
CtrlAltCtrl + ALt 修改键。
AltAlt 修改键。
WindowsKeyWindows 徽标键