HotkeyNet 软件入门教程

下载与安装

下载软件一定要到官网, 不然 .exe 可执行文件被魔改了, 被盗号了你就欲哭无泪了.

  • HotkeyNet 官网:

  • 官网下载地址: http://www.hotkeynet.com/p/download.html, 点击 Current Build (最新版本) 下载. 该软件很久没有更新了, 最新版本是 2010 年的. (注, 目前该软件官网已经不在了, 我自己留有备份)

安装:

软件体积很小, 1MB 不到. 解压到任意 Windows 目录下即可. 双击 hotkeynet.exe 运行. 根据官网, Win7 系统可能需要以管理员身份运行才能保证工作正常.

建议将其放到全英文目录下, 以避免出现各种奇怪的问题.

软件工作原理

软件运行后, 你需要点击 Load Script (Script 是脚本的意思) 按钮选择一个脚本文件运行.

什么是脚本文件:

脚本文件是一个 HotkeyNet 纯文本无格式文件 (Word 是带格式文件). 简单来说各种编程语言的代码都是纯文本无格式文件. HotkeyNet 脚本文件本质上就是一个编程语言的代码, 而 HotkeyNet 编程语言本身是一种标记式的标记语言, 类似网页 HTML 语言, 非常容易学习.

而在这个脚本文件中定义了各种的 键盘鼠标按键 作为 触发器. 每个 触发器 对应的 响应, 以及这些响应会被发送到哪些窗口中. 一旦脚本文件被读取, 那么你定义的所有 键盘鼠标按键 触发器 就会生效.

而脚本文件本身的文件名后缀没有任何限制.

什么是窗口

任何你在 Windows 中打开的程序, 无论是文件浏览器, 游戏客户端, 文本编辑器, 图片. 这些打开的界面都是一个个的窗口. 每个窗口都有自己的名字. HotkeyNet 主要用名字来区分各个窗口, 以供用户定义 触发器的响应 要被发送到哪个窗口去.

例如你打开魔兽世界客户端, 中文客户端的默认窗口名是: “魔兽世界” 而英文客户端默认窗口名是: “World of Warcraft”

修改窗口名字

由于多个游戏客户端的窗口名默认是一样的, 无法让 HotkeyNet 对他们做区分, 所以我们需要给这些窗口不同的名字. 给窗口重命名的方式有两种, 手动命名和脚本命名. 这里我们只介绍手动命名. 脚本命令方式在介绍脚本时介绍.

打开HotkeyNet 软件 -> 顶部菜单 -> Actions -> Rename a Window -> 点击该选项然后点击要修改的窗口的标题

获取鼠标的坐标

鼠标的坐标类型可以分为两种:

  1. 屏幕坐标: 表示在整个显示屏上以左上角为原点时鼠标所在位置的坐标.

  2. 窗口坐标: 表示在某个窗口中以窗口左上角为原点时鼠标所在的位置的坐标.

HotkeyNet 主界面有一个窗口 Last key press, 它显示的上一次鼠标键盘动作时的键盘按键名以及鼠标的坐标.

键盘鼠标按键

一个游戏键盘一般有 F1-F12, 1-9, a-z, ctrl/alt/shift/tab, 以及各种特殊符号, 还有小键盘, 上下左右键. 每一个键盘上的按键都有一个按键名. 在你的脚本中你需要用这些按键名来让程序知道你希望它按下哪个键. 而鼠标的按键本质上也是按键, 无论是左键, 右键, 还是中间键. 而这些按键都有: 按下(不松手), 抬起(在按下的状态下松手), 按一下(按下+抬起) 三种模式. 这三种模式可以构成 组合键, 例如 Ctrl + C.

Key name

Virtual key code (hex)

Virtual key code (decimal)

Extended

LButton

1

1

no

RButton

2

2

no

MButton

4

4

no

Button4

5

5

no

Button5

6

6

no

Backspace

8

8

no

Tab

9

9

no

WheelForward

A

10

no

WheelBackward

B

11

no

Clear

C

12

no

Enter

D

13

no

Shift

10

16

no

Ctrl

11

17

no

Alt

12

18

no

Pause

13

19

no

CapsLock

14

20

no

Kana

15

21

no

Hangul

15

21

no

Junja

17

23

no

Final

18

24

no

Hanja

19

25

no

Kanji

19

25

no

Esc

1B

27

no

Convert

1C

28

no

NoConvert

1D

29

no

Accept

1E

30

no

ModeChange

1F

31

no

Space

20

32

no

NumpadPgUp

21

33

no

NumpadPgDn

22

34

no

NumpadEnd

23

35

no

NumpadHome

24

36

no

NumpadLeft

25

37

no

NumpadUp

26

38

no

NumpadRight

27

39

no

NumpadDown

28

40

no

Select

29

41

no

Print

2A

42

no

Execute

2B

43

no

NumpadInsert

2D

45

no

NumpadDelete

2E

46

no

Help

2F

47

no

0

30

48

no

1

31

49

no

2

32

50

no

3

33

51

no

4

34

52

no

5

35

53

no

6

36

54

no

7

37

55

no

8

38

56

no

9

39

57

no

A

41

65

no

B

42

66

no

C

43

67

no

D

44

68

no

E

45

69

no

F

46

70

no

G

47

71

no

H

48

72

no

I

49

73

no

J

4A

74

no

K

4B

75

no

L

4C

76

no

M

4D

77

no

N

4E

78

no

O

4F

79

no

P

50

80

no

Q

51

81

no

R

52

82

no

S

53

83

no

T

54

84

no

U

55

85

no

V

56

86

no

W

57

87

no

X

58

88

no

Y

59

89

no

Z

5A

90

no

Numpad0

60

96

no

Numpad1

61

97

no

Numpad2

62

98

no

Numpad3

63

99

no

Numpad4

64

100

no

Numpad5

65

101

no

Numpad6

66

102

no

Numpad7

67

103

no

Numpad8

68

104

no

Numpad9

69

105

no

Multiply

6A

106

no

NumpadPlus

6B

107

no

Separator

6C

108

no

NumpadMinus

6D

109

no

Decimal

6E

110

no

F1

70

112

no

F2

71

113

no

F3

72

114

no

F4

73

115

no

F5

74

116

no

F6

75

117

no

F7

76

118

no

F8

77

119

no

F9

78

120

no

F10

79

121

no

F11

7A

122

no

F12

7B

123

no

F13

7C

124

no

F14

7D

125

no

F15

7E

126

no

F16

7F

127

no

F17

80

128

no

F18

81

129

no

F19

82

130

no

F20

83

131

no

F21

84

132

no

F22

85

133

no

F23

86

134

no

F24

87

135

no

ScrollLock

91

145

no

OemNecEqual

92

146

no

OemFjMasshou

93

147

no

OemFjTouroku

94

148

no

OemFjLoya

95

149

no

OemFjRoya

96

150

no

LShift

A0

160

no

RShift

A1

161

no

LCtrl

A2

162

no

RCtrl

A3

163

no

LAlt

A4

164

no

RAlt

A5

165

no

Oem1

BA

186

no

Plus

BB

187

no

Comma

BC

188

no

Minus

BD

189

no

Period

BE

190

no

Oem2

BF

191

no

Oem3

C0

192

no

Oem4

DB

219

no

Oem5

DC

220

no

Oem6

DD

221

no

Oem7

DE

222

no

Oem8

DF

223

no

OemAx

E1

225

no

Oem102

E2

226

no

IcoHelp

E3

227

no

Ico00

E4

228

no

ProcessKey

E5

229

no

IcoClear

E6

230

no

Packet

E7

231

no

OemReset

E9

233

no

OemJump

EA

234

no

OemPa1

EB

235

no

OemPa2

EC

236

no

OemPa3

ED

237

no

OemWsCtrl

EE

238

no

OemCuSel

EF

239

no

OemAttn

F0

240

no

OemFinish

F1

241

no

OemCopy

F2

242

no

OemAuto

F3

243

no

OemEnlw

F4

244

no

OemBackTab

F5

245

no

Attn

F6

246

no

CrSel

F7

247

no

ExSel

F8

248

no

EREOF

F9

249

no

Play

FA

250

no

Zoom

FB

251

no

NoName

FC

252

no

Pa1

FD

253

no

OemClear

FE

254

no

Cancel

3

3

yes

NumpadEnter

D

13

yes

PgUp

21

33

yes

PgDn

22

34

yes

End

23

35

yes

Home

24

36

yes

Left

25

37

yes

Up

26

38

yes

Right

27

39

yes

Down

28

40

yes

PrintScreen

2C

44

yes

Insert

2D

45

yes

Delete

2E

46

yes

LWin

5B

91

yes

RWin

5C

92

yes

Apps

5D

93

yes

Sleep

5F

95

yes

Divide

6F

111

yes

NumLock

90

144

yes

RShift

A1

161

yes

RCtrl

A3

163

yes

RAlt

A5

165

yes

BrowserBack

A6

166

yes

BrowserForward

A7

167

yes

BrowserRefresh

A8

168

yes

BrowserStop

A9

169

yes

BrowserSearch

AA

170

yes

BrowserFavorites

AB

171

yes

BrowserHome

AC

172

yes

Mute

AD

173

yes

VolumeDown

AE

174

yes

VolumeUp

AF

175

yes

MediaNextTrack

B0

176

yes

MediaPrevTrack

B1

177

yes

MediaStop

B2

178

yes

MediaPlayPause

B3

179

yes

Mail

B4

180

yes

MediaSelect

B5

181

yes

LaunchApp1

B6

182

yes

LaunchApp2

B7

183

yes

  • 特殊符号按键表: https://www.cnblogs.com/del/archive/2007/12/07/987364.html, 有些特殊符号的键的名字无法从上表中直观的查出. 不过你可以使用链接中的虚拟按键码表格查到虚拟按键吗, 然后通过查找 Virtual key code (decimal) 找到对应的按键名. 这里我们留了一个备份.

虚拟键码

对应值

对应键

VK_LBUTTON

1

鼠标左键

VK_RBUTTON

2

鼠标右键

VK_CANCEL

3

Cancel

VK_MBUTTON

4

鼠标中键

VK_XBUTTON1

5

VK_XBUTTON2

6

VK_BACK

8

Backspace

VK_TAB

9

Tab

VK_CLEAR

12

Clear

VK_RETURN

13

Enter

VK_SHIFT

16

Shift

VK_CONTROL

17

Ctrl

VK_MENU

18

Alt

VK_PAUSE

19

Pause

VK_CAPITAL

20

Caps Lock

VK_KANA

21

VK_HANGUL

21

VK_JUNJA

23

VK_FINAL

24

VK_HANJA

25

VK_KANJI

25*

VK_ESCAPE

27

Esc

VK_CONVERT

28

VK_NONCONVERT

29

VK_ACCEPT

30

VK_MODECHANGE

31

VK_SPACE

32

Space

VK_PRIOR

33

Page Up

VK_NEXT

34

Page Down

VK_END

35

End

VK_HOME

36

Home

VK_LEFT

37

Left Arrow

VK_UP

38

Up Arrow

VK_RIGHT

39

Right Arrow

VK_DOWN

40

Down Arrow

VK_SELECT

41

Select

VK_PRINT

42

Print

VK_EXECUTE

43

Execute

VK_SNAPSHOT

44

Snapshot

VK_INSERT

45

Insert

VK_DELETE

46

Delete

VK_HELP

47

Help

48

0

49

1

50

2

51

3

52

4

53

5

54

6

55

7

56

8

57

9

65

A

66

B

67

C

68

D

69

E

70

F

71

G

72

H

73

I

74

J

75

K

76

L

77

M

78

N

79

O

80

P

81

Q

82

R

83

S

84

T

85

U

86

V

87

W

88

X

89

Y

90

Z

VK_LWIN

91

VK_RWIN

92

VK_APPS

93

VK_SLEEP

95

VK_NUMPAD0

96

小键盘 0

VK_NUMPAD1

97

小键盘 1

VK_NUMPAD2

98

小键盘 2

VK_NUMPAD3

99

小键盘 3

VK_NUMPAD4

100

小键盘 4

VK_NUMPAD5

101

小键盘 5

VK_NUMPAD6

102

小键盘 6

VK_NUMPAD7

103

小键盘 7

VK_NUMPAD8

104

小键盘 8

VK_NUMPAD9

105

小键盘 9

VK_MULTIPLY

106

小键盘 *

VK_ADD

107

小键盘 +

VK_SEPARATOR

108

小键盘 Enter

VK_SUBTRACT

109

小键盘 -

VK_DECIMAL

110

小键盘 .

VK_DIVIDE

111

小键盘 /

VK_F1

112

F1

VK_F2

113

F2

VK_F3

114

F3

VK_F4

115

F4

VK_F5

116

F5

VK_F6

117

F6

VK_F7

118

F7

VK_F8

119

F8

VK_F9

120

F9

VK_F10

121

F10

VK_F11

122

F11

VK_F12

123

F12

VK_F13

124

VK_F14

125

VK_F15

126

VK_F16

127

VK_F17

128

VK_F18

129

VK_F19

130

VK_F20

131

VK_F21

132

VK_F22

133

VK_F23

134

VK_F24

135

VK_NUMLOCK

144

Num Lock

VK_SCROLL

145

Scroll

VK_LSHIFT

160

VK_RSHIFT

161

VK_LCONTROL

162

VK_RCONTROL

163

VK_LMENU

164

VK_RMENU

165

VK_BROWSER_BACK

166

VK_BROWSER_FORWARD

167

VK_BROWSER_REFRESH

168

VK_BROWSER_STOP

169

VK_BROWSER_SEARCH

170

VK_BROWSER_FAVORITES

171

VK_BROWSER_HOME

172

VK_VOLUME_MUTE

173

VolumeMute

VK_VOLUME_DOWN

174

VolumeDown

VK_VOLUME_UP

175

VolumeUp

VK_MEDIA_NEXT_TRACK

176

VK_MEDIA_PREV_TRACK

177

VK_MEDIA_STOP

178

VK_MEDIA_PLAY_PAUSE

179

VK_LAUNCH_MAIL

180

VK_LAUNCH_MEDIA_SELECT

181

VK_LAUNCH_APP1

182

VK_LAUNCH_APP2

183

VK_OEM_1

186

; :

VK_OEM_PLUS

187

#ERROR!

VK_OEM_COMMA

188

VK_OEM_MINUS

189

  • _

VK_OEM_PERIOD

190

VK_OEM_2

191

/ ?

VK_OEM_3

192

` ~

VK_OEM_4

219

[ {

VK_OEM_5

220

|

VK_OEM_6

221

] }

VK_OEM_7

222

VK_OEM_8

223

VK_OEM_102

226

VK_PACKET

231

VK_PROCESSKEY

229

VK_ATTN

246

VK_CRSEL

247

VK_EXSEL

248

VK_EREOF

249

VK_PLAY

250

VK_ZOOM

251

VK_NONAME

252

VK_PA1

253

VK_OEM_CLEAR

254

我们把常用的几个列出来了:

  • ` ~: Oem3

  • [ {: Oem4

  • ] }: Oem6

  • \ |: Oem5

  • ; :: Oem1

  • ' ": Oem7

  • , <: Comma

  • . >: Period

  • / ?: 不清楚

到此我们就基本了解了 HotkeyNet 是如何工作的了. 本章的按键名表在你写脚本的时候会经常用到, 要记得经常回来查询.

HotkeyNet 菜单选项卡翻译

  • File: 文件
    • Load Script: 读取脚本

    • Exit: 退出

  • Options: 选项
    • Settings: 设置 (基本没用)

    • Connection Settings: 网络连接设置

    • Send Mode Settings: 发送模式设置

  • Actions: 动作 (重点)
    • Turn off hotkeys: 禁用所有快捷键

    • Rename a Window: 重命名某个窗口的名字, 点击该选项然后点击要修改的窗口的标题

    • Hide this window: 关闭

    • Open command line: 打开命令行 (用敲命令的方式触发, 而不是鼠标键盘的方式)

    • Unload script: 让已经读取的脚本失效

    • Start dragging panels: