溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

易語言仿按鍵精靈錄制鍵盤鼠標(biāo)操作的代碼

發(fā)布時間:2020-10-10 13:59:55 來源:腳本之家 閱讀:1337 作者:易語言源碼教程 欄目:編程語言

DLL命令表

.版本 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ù) 擴(kuò)展信息, 整數(shù)型
.DLL命令 模擬鍵盤按鍵, , , "keybd_event"
  .參數(shù) bVk, 字節(jié)型
  .參數(shù) bScan, 字節(jié)型
  .參數(shù) dwFlags, 整數(shù)型
  .參數(shù) dwExtraInfo, 整數(shù)型

自定義數(shù)據(jù)類型

.版本 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)鍵盤錄制的代碼

.版本 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)簽_錄制進(jìn)程.標(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掃描碼 處理,擴(kuò)展鍵 信息
    判斷按鍵 (鍵值, 取按鍵狀態(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)簽_錄制進(jìn)程.標(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é)束
.子程序 加密機(jī)器碼, 文本型
.參數(shù) 機(jī)器碼, 文本型
.局部變量 字符位置, 整數(shù)型
.局部變量 加密后文本, 文本型
.局部變量 二次加密文本, 文本型
.變量循環(huán)首 (取文本長度 (機(jī)器碼), 1, -1, 字符位置)
  加密后文本 = 加密后文本 + 字符 (到數(shù)值 (取文本中間 (機(jī)器碼, 字符位置, 1)) + 取代碼 (“p”, ))
.變量循環(huán)尾 ()
.計次循環(huán)首 (取文本長度 (機(jī)器碼), 字符位置)
  二次加密文本 = 二次加密文本 + 字符 (取代碼 (加密后文本, 字符位置) - 到數(shù)值 (取文本中間 (機(jī)器碼, 字符位置, 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é)果:

易語言仿按鍵精靈錄制鍵盤鼠標(biāo)操作的代碼

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對億速云的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI