DLL命令表
.版本 2.DLL命令 取按鍵狀態, 短整數型, "user32.dll", "GetAsyncKeyState" .參數 鼠標鍵, 整數型.DLL命令 取鼠標位置, 整數型, "user32.dll", "GetCursorPos" .參數 當前鼠標位置, 鼠標位置, 傳址.DLL命令 模擬鼠標按鍵, , , "mouse_event" .參數 鼠標動作, 整數型 .參數 水平位置, 整數型 .參數 垂直位置, 整數型 .參數 鼠標按鍵, 整數型 .參數 擴展信息, 整數型.DLL命令 模擬鍵盤按鍵, , , "keybd_event" .參數 bVk, 字節型 .參數 bScan, 字節型 .參數 dwFlags, 整數型 .參數 dwExtraInfo, 整數型
自定義數據類型
.版本 2.數據類型 鼠標位置 .成員 橫向坐標, 整數型 .成員 縱向坐標, 整數型.數據類型 按鍵記錄, , 記錄長度13個字節. .成員 時間間隔, 整數型 .成員 鍵值, 字節型, , , 0,鼠標移動;其他為鍵盤鍵值 .成員 鍵盤動作, 整數型, , , 或者是 鼠標水平位置 .成員 垂直位置, 整數型, , , 鼠標垂直位置
鼠標鍵盤錄制的代碼
.版本 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” .默認 .判斷結束 .判斷開始 (文件更名 (腳本目錄 + 列表框_腳本.取項目文本 (列表框_腳本.現行選中項), 腳本目錄 + 新文件名)) 列表框_腳本.置項目文本 (列表框_腳本.現行選中項, 新文件名) .默認 .判斷結束.默認.判斷結束
運行結果:
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VeVb武林網的支持。
新聞熱點
疑難解答