DLL命令表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
.版本 2 .DLL命令 取按鍵狀態, 短整數型, "user32.dll", "GetAsyncKeyState" .參數 鼠標鍵, 整數型 .DLL命令 取鼠標位置, 整數型, "user32.dll", "GetCursorPos" .參數 當前鼠標位置, 鼠標位置, 傳址 .DLL命令 模擬鼠標按鍵, , , "mouse_event" .參數 鼠標動作, 整數型 .參數 水平位置, 整數型 .參數 垂直位置, 整數型 .參數 鼠標按鍵, 整數型 .參數 擴展信息, 整數型 .DLL命令 模擬鍵盤按鍵, , , "keybd_event" .參數 bVk, 字節型 .參數 bScan, 字節型 .參數 dwFlags, 整數型 .參數 dwExtraInfo, 整數型 |
自定義數據類型
1
2
3
4
5
6
7
8
9
|
.版本 2 .數據類型 鼠標位置 .成員 橫向坐標, 整數型 .成員 縱向坐標, 整數型 .數據類型 按鍵記錄, , 記錄長度13個字節. .成員 時間間隔, 整數型 .成員 鍵值, 字節型, , , 0,鼠標移動;其他為鍵盤鍵值 .成員 鍵盤動作, 整數型, , , 或者是 鼠標水平位置 .成員 垂直位置, 整數型, , , 鼠標垂直位置 |
鼠標鍵盤錄制的代碼
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 .程序集 程序集_主窗口 .程序集變量 按鍵狀態, 整數型, , "256" .程序集變量 時間線, 整數型 .程序集變量 鼠標前次位置, 鼠標位置 .程序集變量 操作記錄, 按鍵記錄, , "92000" .程序集變量 緩沖區記錄數, 文本型 .程序集變量 當前記錄, 整數型 .程序集變量 可否中斷, 邏輯型 .程序集變量 屏幕寬度, 整數型 .程序集變量 屏幕高度, 整數型 .程序集變量 停止回放, 邏輯型 .子程序 判斷按鍵 .參數 鍵值, 字節型 .參數 當前狀態, 整數型 .判斷開始 (當前狀態 = 0) .如果真 (按鍵狀態 [鍵值 + 1] ≠ 0) 添加記錄 (鍵值, #鍵抬起, 0) .如果真結束 .判斷 (當前狀態 ≠ 0) .如果 (鍵值 = #F3鍵) 可否中斷 = 真 返回 () .否則 .如果結束 .如果真 (按鍵狀態 [鍵值 + 1] = 0) 添加記錄 (鍵值, #鍵按下, 0) .如果真結束 .默認 .判斷結束 按鍵狀態 [鍵值 + 1] = 當前狀態 .子程序 添加記錄 .參數 鍵值, 字節型, , 為0表示鼠標移動,其他表示按鍵 .參數 鍵盤動作, 整數型, , 或 “水平位置”,傳入的雙精度數 .參數 垂直位置, 整數型 當前記錄 = 當前記錄 + 1 .如果 (當前記錄 > 取數組成員數 (操作記錄)) 可否中斷 = 真 信息框 (“緩沖區已滿,錄制被迫中止。”, #錯誤圖標, “錄制出錯”) 返回 () .否則 .如果結束 操作記錄 [當前記錄].時間間隔 = 取啟動時間 () - 時間線 操作記錄 [當前記錄].鍵值 = 鍵值 操作記錄 [當前記錄].鍵盤動作 = 鍵盤動作 操作記錄 [當前記錄].垂直位置 = 垂直位置 標簽_錄制進程.標題 = 到文本 (當前記錄) + “ / ” + 緩沖區記錄數 .子程序 _按鈕_記錄_被單擊 .局部變量 鍵值, 整數型 .局部變量 鼠標當前位置, 鼠標位置 .局部變量 鼠標動作, 整數型 .局部變量 腳本文件號, 整數型 .局部變量 記錄數, 整數型 .局部變量 腳本文件名, 文本型 按鈕_記錄.禁止 = 真 按鈕_回放.禁止 = 真 按鈕_停止.禁止 = 假 .如果真 (選擇框_最小化.選中) 位置 = 2 .如果真結束 時鐘_熱鍵.時鐘周期 = 0 ' 關閉 “記錄” 熱鍵 .計次循環首 (256, 鍵值) ' 初始化按鍵狀態 取按鍵狀態 (鍵值 - 1) 按鍵狀態 [鍵值] = 0 .計次循環尾 () 屏幕寬度 = 取屏幕寬度 () ' 為獲取鼠標坐標作準備 屏幕高度 = 取屏幕高度 () 當前記錄 = 0 時間線 = 取啟動時間 () 可否中斷 = 假 ' 開始記錄 .判斷循環首 (可否中斷 = 假) 取鼠標位置 (鼠標當前位置) .如果真 (鼠標前次位置.橫向坐標 ≠ 鼠標當前位置.橫向坐標 或 鼠標前次位置.縱向坐標 ≠ 鼠標當前位置.縱向坐標) 鼠標前次位置 = 鼠標當前位置 添加記錄 (0, 鼠標當前位置.橫向坐標 × 65535 \ 屏幕寬度, 鼠標當前位置.縱向坐標 × 65535 \ 屏幕高度) .如果真結束 .變量循環首 (146, 255, 1, 鍵值) ' 先檢查額外按鍵信息。OEM掃描碼 處理,擴展鍵 信息 判斷按鍵 (鍵值, 取按鍵狀態 (鍵值)) .變量循環尾 () .變量循環首 (0, 145, 1, 鍵值) 判斷按鍵 (鍵值, 取按鍵狀態 (鍵值)) .變量循環尾 () 處理事件 () 延時 (10) ' 取啟動時間() 最少間隔是 15ms .判斷循環尾 () .判斷開始 (當前記錄 > 4) 腳本文件名 = 到文本 (取現行時間 ()) 創建目錄 (取運行目錄 () + “\scripts”) 腳本文件號 = 打開文件 (取運行目錄 () + “\scripts\” + 腳本文件名 + “.mrc”, #重寫, #禁止寫) .變量循環首 (4, 當前記錄, 1, 記錄數) 寫出數據 (腳本文件號, 操作記錄 [記錄數].時間間隔, 操作記錄 [記錄數].鍵值, 操作記錄 [記錄數].鍵盤動作, 操作記錄 [記錄數].垂直位置) .變量循環尾 () 關閉文件 (腳本文件號) .默認 .判斷結束 現存腳本 () 時鐘_熱鍵.時鐘周期 = 100 ' 打開 “記錄”熱鍵 按鈕_記錄.禁止 = 假 按鈕_停止.禁止 = 真 位置 = 0 .子程序 _按鈕_停止_被單擊 可否中斷 = 真 .子程序 現存腳本 .局部變量 腳本文件名, 文本型 按鈕_回放.禁止 = 真 按鈕_刪除.禁止 = 真 列表框_腳本.清空 () 腳本文件名 = 尋找文件 (取運行目錄 () + “\scripts\*.mrc”, ) .判斷循環首 (腳本文件名 ≠ “”) 列表框_腳本.加入項目 (腳本文件名, ) 腳本文件名 = 尋找文件 (, ) .判斷循環尾 () 列表框_腳本.現行選中項 = 列表框_腳本.取項目數 () - 1 _列表框_腳本_列表項被選擇 () .子程序 讀取腳本 .參數 腳本文件名, 文本型 .局部變量 腳本文件號, 整數型 腳本文件號 = 打開文件 (腳本文件名, #讀入, #禁止寫) 當前記錄 = 0 .判斷循環首 (是否在文件尾 (腳本文件號, ) = 假) 當前記錄 = 當前記錄 + 1 讀入數據 (腳本文件號, 操作記錄 [當前記錄].時間間隔, 操作記錄 [當前記錄].鍵值, 操作記錄 [當前記錄].鍵盤動作, 操作記錄 [當前記錄].垂直位置) .判斷循環尾 () 關閉文件 (腳本文件號) 按鈕_回放.禁止 = 假 .子程序 腳本_回放 .參數 腳本文件名, 文本型 .局部變量 記錄數, 整數型 .局部變量 執行次數, 整數型 .局部變量 回放間隔時間, 整數型 讀取腳本 (腳本文件名) .如果真 (選擇框_回放.選中 = 真) 位置 = 2 .如果真結束 按鈕_回放.禁止 = 真 按鈕_記錄.禁止 = 真 停止回放 = 假 回放間隔時間 = 到數值 (編輯框_間隔時間.內容) .計次循環首 (到數值 (編輯框_回放次數.內容), 執行次數) 標簽_當前次數.標題 = 到文本 (執行次數) + “ / ” + 編輯框_回放次數.內容 時間線 = 取啟動時間 () .計次循環首 (當前記錄, 記錄數) .判斷循環首 (取啟動時間 () ≥ 時間線 且 取啟動時間 () - 時間線 ≤ 操作記錄 [記錄數].時間間隔) ' 解決 取啟動時間() 往復的問題 處理事件 () 延時 (3) ' 1/3 .判斷循環尾 () .判斷開始 (操作記錄 [記錄數].鍵值 = 0) ' 鼠標移動 模擬鼠標按鍵 (位或 (#鼠標移動, #絕對坐標), 操作記錄 [記錄數].鍵盤動作, 操作記錄 [記錄數].垂直位置, 0, 0) .判斷 (操作記錄 [記錄數].鍵值 = 1) ' 鼠標左鍵 .如果 (操作記錄 [記錄數].鍵盤動作 = #鍵按下) 模擬鼠標按鍵 (#左鍵按下, 0, 0, 0, 0) .否則 模擬鼠標按鍵 (#左鍵抬起, 0, 0, 0, 0) .如果結束 .判斷 (操作記錄 [記錄數].鍵值 = 2) ' 鼠標右鍵 .如果 (操作記錄 [記錄數].鍵盤動作 = #鍵按下) 模擬鼠標按鍵 (#右鍵按下, 0, 0, 0, 0) .否則 模擬鼠標按鍵 (#右鍵抬起, 0, 0, 0, 0) .如果結束 .判斷 (操作記錄 [記錄數].鍵值 = 4) ' 鼠標中鍵 .如果 (操作記錄 [記錄數].鍵盤動作 = #鍵按下) 模擬鼠標按鍵 (#中鍵按下, 0, 0, 0, 0) .否則 模擬鼠標按鍵 (#中鍵抬起, 0, 0, 0, 0) .如果結束 .判斷 (操作記錄 [記錄數].鍵值 > 4) ' 鍵盤鍵 模擬鍵盤按鍵 (操作記錄 [記錄數].鍵值, 0, 操作記錄 [記錄數].鍵盤動作, 0) .默認 .判斷結束 標簽_錄制進程.標題 = 到文本 (記錄數) + “ / ” + 緩沖區記錄數 處理事件 () .如果真 (停止回放) 跳出循環 () .如果真結束 .計次循環尾 () .如果真 (停止回放) 跳出循環 () .如果真結束 .判斷開始 (到數值 (編輯框_回放次數.內容) > 1) 延時 (回放間隔時間 × 1000) .默認 .判斷結束 .計次循環尾 () 標簽_當前次數.標題 = “執行完畢” 按鈕_回放.禁止 = 假 按鈕_記錄.禁止 = 假 位置 = 0 .子程序 __啟動窗口_創建完畢 .局部變量 鍵值, 整數型 .局部變量 命令行, 文本型, , "0" .局部變量 腳本文本, 文本型 緩沖區記錄數 = 到文本 (取數組成員數 (操作記錄)) 取按鍵狀態 (#F2鍵) 取按鍵狀態 (#F3鍵) 取按鍵狀態 (#F4鍵) 時鐘_熱鍵.時鐘周期 = 100 現存腳本 () 取命令行 (命令行) .判斷開始 (取數組成員數 (命令行) = 1) 腳本文本 = 取運行目錄 () + “\scripts\” + 命令行 [1] + “.mrc” .判斷開始 (文件是否存在 (腳本文本)) 腳本_回放 (腳本文本) 結束 () .默認 .判斷結束 .默認 .判斷結束 .子程序 加密機器碼, 文本型 .參數 機器碼, 文本型 .局部變量 字符位置, 整數型 .局部變量 加密后文本, 文本型 .局部變量 二次加密文本, 文本型 .變量循環首 (取文本長度 (機器碼), 1, -1, 字符位置) 加密后文本 = 加密后文本 + 字符 (到數值 (取文本中間 (機器碼, 字符位置, 1)) + 取代碼 (“p”, )) .變量循環尾 () .計次循環首 (取文本長度 (機器碼), 字符位置) 二次加密文本 = 二次加密文本 + 字符 (取代碼 (加密后文本, 字符位置) - 到數值 (取文本中間 (機器碼, 字符位置, 1))) .計次循環尾 () 返回 (二次加密文本) .子程序 _時鐘_熱鍵_周期事件 .如果 (取按鍵狀態 (#F2鍵) ≠ 0) _按鈕_記錄_被單擊 () .否則 .如果結束 .如果 (取按鍵狀態 (#F4鍵) ≠ 0) 停止回放 = 真 .否則 .如果結束 .子程序 _列表框_腳本_列表項被選擇 按鈕_回放.禁止 = 假 按鈕_刪除.禁止 = 假 .子程序 _按鈕_刪除_被單擊 刪除文件 (取運行目錄 () + “\scripts\” + 列表框_腳本.取項目文本 (列表框_腳本.現行選中項)) 現存腳本 () .子程序 __啟動窗口_將被銷毀 結束 () .子程序 _調節器_間隔時間_調節鈕被按下 .參數 按鈕值, 整數型 .如果 (按鈕值 = 1) 編輯框_間隔時間.內容 = 到文本 (到數值 (編輯框_間隔時間.內容) + 1) .否則 .如果真 (到數值 (編輯框_間隔時間.內容) > 0) 編輯框_間隔時間.內容 = 到文本 (到數值 (編輯框_間隔時間.內容) - 1) .如果真結束 .如果結束 .子程序 _調節器_回放次數_調節鈕被按下 .參數 按鈕值, 整數型 .如果 (按鈕值 = 1) 編輯框_回放次數.內容 = 到文本 (到數值 (編輯框_回放次數.內容) + 1) .否則 .如果真 (到數值 (編輯框_回放次數.內容) > 1) 編輯框_回放次數.內容 = 到文本 (到數值 (編輯框_回放次數.內容) - 1) .如果真結束 .如果結束 .子程序 _按鈕_回放_被單擊 腳本_回放 (取運行目錄 () + “\scripts\” + 列表框_腳本.取項目文本 (列表框_腳本.現行選中項)) .子程序 _列表框_腳本_雙擊選擇 載入 (窗口1, , 真) .子程序 _列表框_腳本_鼠標右鍵被放開, 邏輯型 .參數 橫向位置, 整數型 .參數 縱向位置, 整數型 .參數 功能鍵狀態, 整數型 彈出菜單 (Z, , ) .子程序 _重命名_被選擇 .局部變量 腳本目錄, 文本型 .局部變量 新文件名, 文本型 .判斷開始 (輸入框 (“請輸入新腳本名稱:”, “重命名腳本名稱”, 列表框_腳本.取項目文本 (列表框_腳本.現行選中項), 新文件名, 1, _啟動窗口)) 腳本目錄 = 取運行目錄 () + “\scripts\” .判斷開始 (取文本右邊 (新文件名, 4) ≠ “.mrc”) 新文件名 = 新文件名 + “.mrc” .默認 .判斷結束 .判斷開始 (文件更名 (腳本目錄 + 列表框_腳本.取項目文本 (列表框_腳本.現行選中項), 腳本目錄 + 新文件名)) 列表框_腳本.置項目文本 (列表框_腳本.現行選中項, 新文件名) .默認 .判斷結束 .默認 .判斷結束 |
運行結果:
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接