DLL命令表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
.版本 2 .DLL命令 取按鍵狀態(tài), 短整數(shù)型, "user32.dll", "GetAsyncKeyState" .參數(shù) 鼠標(biāo)鍵, 整數(shù)型 .DLL命令 取鼠標(biāo)位置, 整數(shù)型, "user32.dll", "GetCursorPos" .參數(shù) 當(dāng)前鼠標(biāo)位置, 鼠標(biāo)位置, 傳址 .DLL命令 模擬鼠標(biāo)按鍵, , , "mouse_event" .參數(shù) 鼠標(biāo)動作, 整數(shù)型 .參數(shù) 水平位置, 整數(shù)型 .參數(shù) 垂直位置, 整數(shù)型 .參數(shù) 鼠標(biāo)按鍵, 整數(shù)型 .參數(shù) 擴展信息, 整數(shù)型 .DLL命令 模擬鍵盤按鍵, , , "keybd_event" .參數(shù) bVk, 字節(jié)型 .參數(shù) bScan, 字節(jié)型 .參數(shù) dwFlags, 整數(shù)型 .參數(shù) dwExtraInfo, 整數(shù)型 |
自定義數(shù)據(jù)類型
1
2
3
4
5
6
7
8
9
|
.版本 2 .數(shù)據(jù)類型 鼠標(biāo)位置 .成員 橫向坐標(biāo), 整數(shù)型 .成員 縱向坐標(biāo), 整數(shù)型 .數(shù)據(jù)類型 按鍵記錄, , 記錄長度13個字節(jié). .成員 時間間隔, 整數(shù)型 .成員 鍵值, 字節(jié)型, , , 0,鼠標(biāo)移動;其他為鍵盤鍵值 .成員 鍵盤動作, 整數(shù)型, , , 或者是 鼠標(biāo)水平位置 .成員 垂直位置, 整數(shù)型, , , 鼠標(biāo)垂直位置 |
鼠標(biāo)鍵盤錄制的代碼
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
|
.版本 2 .程序集 程序集_主窗口 .程序集變量 按鍵狀態(tài), 整數(shù)型, , "256" .程序集變量 時間線, 整數(shù)型 .程序集變量 鼠標(biāo)前次位置, 鼠標(biāo)位置 .程序集變量 操作記錄, 按鍵記錄, , "92000" .程序集變量 緩沖區(qū)記錄數(shù), 文本型 .程序集變量 當(dāng)前記錄, 整數(shù)型 .程序集變量 可否中斷, 邏輯型 .程序集變量 屏幕寬度, 整數(shù)型 .程序集變量 屏幕高度, 整數(shù)型 .程序集變量 停止回放, 邏輯型 .子程序 判斷按鍵 .參數(shù) 鍵值, 字節(jié)型 .參數(shù) 當(dāng)前狀態(tài), 整數(shù)型 .判斷開始 (當(dāng)前狀態(tài) = 0) .如果真 (按鍵狀態(tài) [鍵值 + 1] ≠ 0) 添加記錄 (鍵值, #鍵抬起, 0) .如果真結(jié)束 .判斷 (當(dāng)前狀態(tài) ≠ 0) .如果 (鍵值 = #F3鍵) 可否中斷 = 真 返回 () .否則 .如果結(jié)束 .如果真 (按鍵狀態(tài) [鍵值 + 1] = 0) 添加記錄 (鍵值, #鍵按下, 0) .如果真結(jié)束 .默認(rèn) .判斷結(jié)束 按鍵狀態(tài) [鍵值 + 1] = 當(dāng)前狀態(tài) .子程序 添加記錄 .參數(shù) 鍵值, 字節(jié)型, , 為0表示鼠標(biāo)移動,其他表示按鍵 .參數(shù) 鍵盤動作, 整數(shù)型, , 或 “水平位置”,傳入的雙精度數(shù) .參數(shù) 垂直位置, 整數(shù)型 當(dāng)前記錄 = 當(dāng)前記錄 + 1 .如果 (當(dāng)前記錄 > 取數(shù)組成員數(shù) (操作記錄)) 可否中斷 = 真 信息框 (“緩沖區(qū)已滿,錄制被迫中止。”, #錯誤圖標(biāo), “錄制出錯”) 返回 () .否則 .如果結(jié)束 操作記錄 [當(dāng)前記錄].時間間隔 = 取啟動時間 () - 時間線 操作記錄 [當(dāng)前記錄].鍵值 = 鍵值 操作記錄 [當(dāng)前記錄].鍵盤動作 = 鍵盤動作 操作記錄 [當(dāng)前記錄].垂直位置 = 垂直位置 標(biāo)簽_錄制進程.標(biāo)題 = 到文本 (當(dāng)前記錄) + “ / ” + 緩沖區(qū)記錄數(shù) .子程序 _按鈕_記錄_被單擊 .局部變量 鍵值, 整數(shù)型 .局部變量 鼠標(biāo)當(dāng)前位置, 鼠標(biāo)位置 .局部變量 鼠標(biāo)動作, 整數(shù)型 .局部變量 腳本文件號, 整數(shù)型 .局部變量 記錄數(shù), 整數(shù)型 .局部變量 腳本文件名, 文本型 按鈕_記錄.禁止 = 真 按鈕_回放.禁止 = 真 按鈕_停止.禁止 = 假 .如果真 (選擇框_最小化.選中) 位置 = 2 .如果真結(jié)束 時鐘_熱鍵.時鐘周期 = 0 ' 關(guān)閉 “記錄” 熱鍵 .計次循環(huán)首 (256, 鍵值) ' 初始化按鍵狀態(tài) 取按鍵狀態(tài) (鍵值 - 1) 按鍵狀態(tài) [鍵值] = 0 .計次循環(huán)尾 () 屏幕寬度 = 取屏幕寬度 () ' 為獲取鼠標(biāo)坐標(biāo)作準(zhǔn)備 屏幕高度 = 取屏幕高度 () 當(dāng)前記錄 = 0 時間線 = 取啟動時間 () 可否中斷 = 假 ' 開始記錄 .判斷循環(huán)首 (可否中斷 = 假) 取鼠標(biāo)位置 (鼠標(biāo)當(dāng)前位置) .如果真 (鼠標(biāo)前次位置.橫向坐標(biāo) ≠ 鼠標(biāo)當(dāng)前位置.橫向坐標(biāo) 或 鼠標(biāo)前次位置.縱向坐標(biāo) ≠ 鼠標(biāo)當(dāng)前位置.縱向坐標(biāo)) 鼠標(biāo)前次位置 = 鼠標(biāo)當(dāng)前位置 添加記錄 (0, 鼠標(biāo)當(dāng)前位置.橫向坐標(biāo) × 65535 \ 屏幕寬度, 鼠標(biāo)當(dāng)前位置.縱向坐標(biāo) × 65535 \ 屏幕高度) .如果真結(jié)束 .變量循環(huán)首 (146, 255, 1, 鍵值) ' 先檢查額外按鍵信息。OEM掃描碼 處理,擴展鍵 信息 判斷按鍵 (鍵值, 取按鍵狀態(tài) (鍵值)) .變量循環(huán)尾 () .變量循環(huán)首 (0, 145, 1, 鍵值) 判斷按鍵 (鍵值, 取按鍵狀態(tài) (鍵值)) .變量循環(huán)尾 () 處理事件 () 延時 (10) ' 取啟動時間() 最少間隔是 15ms .判斷循環(huán)尾 () .判斷開始 (當(dāng)前記錄 > 4) 腳本文件名 = 到文本 (取現(xiàn)行時間 ()) 創(chuàng)建目錄 (取運行目錄 () + “\scripts”) 腳本文件號 = 打開文件 (取運行目錄 () + “\scripts\” + 腳本文件名 + “.mrc”, #重寫, #禁止寫) .變量循環(huán)首 (4, 當(dāng)前記錄, 1, 記錄數(shù)) 寫出數(shù)據(jù) (腳本文件號, 操作記錄 [記錄數(shù)].時間間隔, 操作記錄 [記錄數(shù)].鍵值, 操作記錄 [記錄數(shù)].鍵盤動作, 操作記錄 [記錄數(shù)].垂直位置) .變量循環(huán)尾 () 關(guān)閉文件 (腳本文件號) .默認(rèn) .判斷結(jié)束 現(xiàn)存腳本 () 時鐘_熱鍵.時鐘周期 = 100 ' 打開 “記錄”熱鍵 按鈕_記錄.禁止 = 假 按鈕_停止.禁止 = 真 位置 = 0 .子程序 _按鈕_停止_被單擊 可否中斷 = 真 .子程序 現(xiàn)存腳本 .局部變量 腳本文件名, 文本型 按鈕_回放.禁止 = 真 按鈕_刪除.禁止 = 真 列表框_腳本.清空 () 腳本文件名 = 尋找文件 (取運行目錄 () + “\scripts\*.mrc”, ) .判斷循環(huán)首 (腳本文件名 ≠ “”) 列表框_腳本.加入項目 (腳本文件名, ) 腳本文件名 = 尋找文件 (, ) .判斷循環(huán)尾 () 列表框_腳本.現(xiàn)行選中項 = 列表框_腳本.取項目數(shù) () - 1 _列表框_腳本_列表項被選擇 () .子程序 讀取腳本 .參數(shù) 腳本文件名, 文本型 .局部變量 腳本文件號, 整數(shù)型 腳本文件號 = 打開文件 (腳本文件名, #讀入, #禁止寫) 當(dāng)前記錄 = 0 .判斷循環(huán)首 (是否在文件尾 (腳本文件號, ) = 假) 當(dāng)前記錄 = 當(dāng)前記錄 + 1 讀入數(shù)據(jù) (腳本文件號, 操作記錄 [當(dāng)前記錄].時間間隔, 操作記錄 [當(dāng)前記錄].鍵值, 操作記錄 [當(dāng)前記錄].鍵盤動作, 操作記錄 [當(dāng)前記錄].垂直位置) .判斷循環(huán)尾 () 關(guān)閉文件 (腳本文件號) 按鈕_回放.禁止 = 假 .子程序 腳本_回放 .參數(shù) 腳本文件名, 文本型 .局部變量 記錄數(shù), 整數(shù)型 .局部變量 執(zhí)行次數(shù), 整數(shù)型 .局部變量 回放間隔時間, 整數(shù)型 讀取腳本 (腳本文件名) .如果真 (選擇框_回放.選中 = 真) 位置 = 2 .如果真結(jié)束 按鈕_回放.禁止 = 真 按鈕_記錄.禁止 = 真 停止回放 = 假 回放間隔時間 = 到數(shù)值 (編輯框_間隔時間.內(nèi)容) .計次循環(huán)首 (到數(shù)值 (編輯框_回放次數(shù).內(nèi)容), 執(zhí)行次數(shù)) 標(biāo)簽_當(dāng)前次數(shù).標(biāo)題 = 到文本 (執(zhí)行次數(shù)) + “ / ” + 編輯框_回放次數(shù).內(nèi)容 時間線 = 取啟動時間 () .計次循環(huán)首 (當(dāng)前記錄, 記錄數(shù)) .判斷循環(huán)首 (取啟動時間 () ≥ 時間線 且 取啟動時間 () - 時間線 ≤ 操作記錄 [記錄數(shù)].時間間隔) ' 解決 取啟動時間() 往復(fù)的問題 處理事件 () 延時 (3) ' 1/3 .判斷循環(huán)尾 () .判斷開始 (操作記錄 [記錄數(shù)].鍵值 = 0) ' 鼠標(biāo)移動 模擬鼠標(biāo)按鍵 (位或 (#鼠標(biāo)移動, #絕對坐標(biāo)), 操作記錄 [記錄數(shù)].鍵盤動作, 操作記錄 [記錄數(shù)].垂直位置, 0, 0) .判斷 (操作記錄 [記錄數(shù)].鍵值 = 1) ' 鼠標(biāo)左鍵 .如果 (操作記錄 [記錄數(shù)].鍵盤動作 = #鍵按下) 模擬鼠標(biāo)按鍵 (#左鍵按下, 0, 0, 0, 0) .否則 模擬鼠標(biāo)按鍵 (#左鍵抬起, 0, 0, 0, 0) .如果結(jié)束 .判斷 (操作記錄 [記錄數(shù)].鍵值 = 2) ' 鼠標(biāo)右鍵 .如果 (操作記錄 [記錄數(shù)].鍵盤動作 = #鍵按下) 模擬鼠標(biāo)按鍵 (#右鍵按下, 0, 0, 0, 0) .否則 模擬鼠標(biāo)按鍵 (#右鍵抬起, 0, 0, 0, 0) .如果結(jié)束 .判斷 (操作記錄 [記錄數(shù)].鍵值 = 4) ' 鼠標(biāo)中鍵 .如果 (操作記錄 [記錄數(shù)].鍵盤動作 = #鍵按下) 模擬鼠標(biāo)按鍵 (#中鍵按下, 0, 0, 0, 0) .否則 模擬鼠標(biāo)按鍵 (#中鍵抬起, 0, 0, 0, 0) .如果結(jié)束 .判斷 (操作記錄 [記錄數(shù)].鍵值 > 4) ' 鍵盤鍵 模擬鍵盤按鍵 (操作記錄 [記錄數(shù)].鍵值, 0, 操作記錄 [記錄數(shù)].鍵盤動作, 0) .默認(rèn) .判斷結(jié)束 標(biāo)簽_錄制進程.標(biāo)題 = 到文本 (記錄數(shù)) + “ / ” + 緩沖區(qū)記錄數(shù) 處理事件 () .如果真 (停止回放) 跳出循環(huán) () .如果真結(jié)束 .計次循環(huán)尾 () .如果真 (停止回放) 跳出循環(huán) () .如果真結(jié)束 .判斷開始 (到數(shù)值 (編輯框_回放次數(shù).內(nèi)容) > 1) 延時 (回放間隔時間 × 1000) .默認(rèn) .判斷結(jié)束 .計次循環(huán)尾 () 標(biāo)簽_當(dāng)前次數(shù).標(biāo)題 = “執(zhí)行完畢” 按鈕_回放.禁止 = 假 按鈕_記錄.禁止 = 假 位置 = 0 .子程序 __啟動窗口_創(chuàng)建完畢 .局部變量 鍵值, 整數(shù)型 .局部變量 命令行, 文本型, , "0" .局部變量 腳本文本, 文本型 緩沖區(qū)記錄數(shù) = 到文本 (取數(shù)組成員數(shù) (操作記錄)) 取按鍵狀態(tài) (#F2鍵) 取按鍵狀態(tài) (#F3鍵) 取按鍵狀態(tài) (#F4鍵) 時鐘_熱鍵.時鐘周期 = 100 現(xiàn)存腳本 () 取命令行 (命令行) .判斷開始 (取數(shù)組成員數(shù) (命令行) = 1) 腳本文本 = 取運行目錄 () + “\scripts\” + 命令行 [1] + “.mrc” .判斷開始 (文件是否存在 (腳本文本)) 腳本_回放 (腳本文本) 結(jié)束 () .默認(rèn) .判斷結(jié)束 .默認(rèn) .判斷結(jié)束 .子程序 加密機器碼, 文本型 .參數(shù) 機器碼, 文本型 .局部變量 字符位置, 整數(shù)型 .局部變量 加密后文本, 文本型 .局部變量 二次加密文本, 文本型 .變量循環(huán)首 (取文本長度 (機器碼), 1, -1, 字符位置) 加密后文本 = 加密后文本 + 字符 (到數(shù)值 (取文本中間 (機器碼, 字符位置, 1)) + 取代碼 (“p”, )) .變量循環(huán)尾 () .計次循環(huán)首 (取文本長度 (機器碼), 字符位置) 二次加密文本 = 二次加密文本 + 字符 (取代碼 (加密后文本, 字符位置) - 到數(shù)值 (取文本中間 (機器碼, 字符位置, 1))) .計次循環(huán)尾 () 返回 (二次加密文本) .子程序 _時鐘_熱鍵_周期事件 .如果 (取按鍵狀態(tài) (#F2鍵) ≠ 0) _按鈕_記錄_被單擊 () .否則 .如果結(jié)束 .如果 (取按鍵狀態(tài) (#F4鍵) ≠ 0) 停止回放 = 真 .否則 .如果結(jié)束 .子程序 _列表框_腳本_列表項被選擇 按鈕_回放.禁止 = 假 按鈕_刪除.禁止 = 假 .子程序 _按鈕_刪除_被單擊 刪除文件 (取運行目錄 () + “\scripts\” + 列表框_腳本.取項目文本 (列表框_腳本.現(xiàn)行選中項)) 現(xiàn)存腳本 () .子程序 __啟動窗口_將被銷毀 結(jié)束 () .子程序 _調(diào)節(jié)器_間隔時間_調(diào)節(jié)鈕被按下 .參數(shù) 按鈕值, 整數(shù)型 .如果 (按鈕值 = 1) 編輯框_間隔時間.內(nèi)容 = 到文本 (到數(shù)值 (編輯框_間隔時間.內(nèi)容) + 1) .否則 .如果真 (到數(shù)值 (編輯框_間隔時間.內(nèi)容) > 0) 編輯框_間隔時間.內(nèi)容 = 到文本 (到數(shù)值 (編輯框_間隔時間.內(nèi)容) - 1) .如果真結(jié)束 .如果結(jié)束 .子程序 _調(diào)節(jié)器_回放次數(shù)_調(diào)節(jié)鈕被按下 .參數(shù) 按鈕值, 整數(shù)型 .如果 (按鈕值 = 1) 編輯框_回放次數(shù).內(nèi)容 = 到文本 (到數(shù)值 (編輯框_回放次數(shù).內(nèi)容) + 1) .否則 .如果真 (到數(shù)值 (編輯框_回放次數(shù).內(nèi)容) > 1) 編輯框_回放次數(shù).內(nèi)容 = 到文本 (到數(shù)值 (編輯框_回放次數(shù).內(nèi)容) - 1) .如果真結(jié)束 .如果結(jié)束 .子程序 _按鈕_回放_被單擊 腳本_回放 (取運行目錄 () + “\scripts\” + 列表框_腳本.取項目文本 (列表框_腳本.現(xiàn)行選中項)) .子程序 _列表框_腳本_雙擊選擇 載入 (窗口1, , 真) .子程序 _列表框_腳本_鼠標(biāo)右鍵被放開, 邏輯型 .參數(shù) 橫向位置, 整數(shù)型 .參數(shù) 縱向位置, 整數(shù)型 .參數(shù) 功能鍵狀態(tài), 整數(shù)型 彈出菜單 (Z, , ) .子程序 _重命名_被選擇 .局部變量 腳本目錄, 文本型 .局部變量 新文件名, 文本型 .判斷開始 (輸入框 (“請輸入新腳本名稱:”, “重命名腳本名稱”, 列表框_腳本.取項目文本 (列表框_腳本.現(xiàn)行選中項), 新文件名, 1, _啟動窗口)) 腳本目錄 = 取運行目錄 () + “\scripts\” .判斷開始 (取文本右邊 (新文件名, 4) ≠ “.mrc”) 新文件名 = 新文件名 + “.mrc” .默認(rèn) .判斷結(jié)束 .判斷開始 (文件更名 (腳本目錄 + 列表框_腳本.取項目文本 (列表框_腳本.現(xiàn)行選中項), 腳本目錄 + 新文件名)) 列表框_腳本.置項目文本 (列表框_腳本.現(xiàn)行選中項, 新文件名) .默認(rèn) .判斷結(jié)束 .默認(rèn) .判斷結(jié)束 |
運行結(jié)果:
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對服務(wù)器之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接