日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vbs模拟键盘和鼠标输入

發布時間:2023/12/18 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vbs模拟键盘和鼠标输入 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在很多時候下,我們通常需要腳本幫助我們測試一些代碼,或者用腳本替代一些重復化的工作。然而用python或者java甚至C++,都太耗時間了,寫的腳本很長,還需要調試。這導致我們需要用一種更加簡便的編程方式來模擬一些鍵盤或鼠標的輸入。

VBS模擬鍵盤的輸入(大全)

Set objShell = CreateObject(“Wscript.Shell”)
do
WScript.Sleep 500
objShell.SendKeys “{F2}”
loop

這里是一個簡單的例子,創建對象后使用SendKeys向目前正在使用的應用程序發送一個字符
例:

Set objShell = CreateObject(“Wscript.Shell”)
WScript.Sleep 500
objShell.SendKeys “a”

這里的代碼意思就是發送字符‘a’。
前面的WScript.Sleep 500代碼表停頓500毫秒,(1000毫秒=1秒),通常我們通過調整停頓時間控制速度。這是因為應用程序正常是無法接受不斷發送的字符的,其間隔時間太短,應用程序反應不過來。

這里介紹一下vbs里的循環
for i=0 to 100
//需要執行的代碼
next
這是一個簡單的100次循環,所以我們可以利用這一循環循環向應用程序發送指定字符

例:
Set WshShell= WScript.Createobject(“WScript.Shell”)
for i=1 to 100
WScript.Sleep 500
WshShell.SendKeys"^v"
WshShell.SendKeys i
WshShell.SendKeys “%s”
next

這是一個qq刷屏代碼,就是利用循環與模擬輸入實現的
qq刷屏具體請看我的另外一篇文章:

qq刷屏代碼
https://blog.csdn.net/qq_42662283/article/details/85868901

到這里有同學就會問如果需要輸入Ctrl+a或Enter怎么辦,不急,下面就是特殊字符輸入方法:

空格鍵 " "
退格鍵 {BACKSPACE} 或 {BS} 或 {BKSP}
BREAK {BREAK}
Delete {Delete} 或 {DEL}
向下鍵 {DOWN}
向上鍵 {UP}
向左鍵 {LEFT}
向右鍵 {RIGHT}
END {END}
ENTER {ENTER} 或 ~
ESC {ESC}
TAB {TAB}
CAPS LOCK {CAPSLOCK}
HELP {HELP}
HOME {HOME}
Insert {Insert} 或 {INS}
NUM LOCK {NUMLOCK}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
PRINT SCREEN {PRTSC}
SCROLL LOCK {SCROLLLOCK}

F1 {F1} F2 {F2} F3 {F3} F4 {F4} F5 {F5} F6 {F6} F7 {F7} F8 {F8} F9 {F9} F10 {F10} F11 {F11} F12 {F12}

以上兩個表是一些沒有字符輸出的特殊字符的發送方法, 以上表格中左邊是這個特殊鍵的名字,大括號內是我們需要寫在代碼里的(注意:寫代碼的時候記住要加大括號)

例:WshShell.SendKeys “{ENTER}” //輸出enter鍵
例:WshShell.SendKeys “ “ //輸出空格鍵

當我們需要組合兩個鍵的時候,我們有特殊表示Ctrl,Alt,Shift的方法
SHIFT +
CTRL ^
ALT %
例:WshShell.SendKeys"^v"//發送Ctrl+v

最后備注一下,如果我們要輸入一個字符串,沒有必要一個一個字符發送,直接發送字符串就行了
例:WshShell.SendKeys"12345678"

VBS模擬鼠標輸入

vbs的鼠標模擬要稍微麻煩一點,這里直接給出代碼,看注釋
如果有不理解的可以在評論區提問

Set mouse=New SetMouse'mouse.getpos x,y ''獲得鼠標當前位置坐標'MsgBox x & "," & ymouse.move 148,154 '把鼠標移動到坐標WScript.Sleep 200mouse.clik "DBCLICK" '左擊'"LEFT" 左擊'"RIGHT" 右擊'"MIDDLE" 中擊'"DBCLICK" 左雙擊Class SetMouseprivate Sprivate xls, wbk, module1private reg_key, xls_code, x, yPrivate Sub Class_Initialize()Set xls = CreateObject("Excel.Application") Set S = CreateObject("wscript.Shell")'vbs 完全控制excelreg_key = "HKEY_CURRENT_USER\Software\Microsoft\Office\$\Excel\Security\AccessVBOM"reg_key = Replace(reg_key, "$", xls.Version)S.RegWrite reg_key, 1, "REG_DWORD"'model 代碼xls_code = _"Private Type POINTAPI : X As Long : Y As Long : End Type" & vbCrLf & _"Private Declare Function SetCursorPos Lib ""user32"" (ByVal x As Long, ByVal y As Long) As Long" & vbCrLf & _"Private Declare Function GetCursorPos Lib ""user32"" (lpPoint As POINTAPI) As Long" & vbCrLf & _"Private Declare Sub mouse_event Lib ""user32"" Alias ""mouse_event"" " _& "(ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)" & vbCrLf & _"Public Function getx() As Long" & vbCrLf & _"Dim pt As POINTAPI : GetCursorPos pt : getx = pt.X" & vbCrLf & _"End Function" & vbCrLf & _"Public Function gety() As Long" & vbCrLf & _"Dim pt As POINTAPI: GetCursorPos pt : gety = pt.Y" & vbCrLf & _"End Function"Set wbk = xls.Workbooks.Add Set module1 = wbk.VBProject.VBComponents.Add(1)module1.CodeModule.AddFromString xls_code End Sub'關閉Private Sub Class_Terminatexls.DisplayAlerts = Falsewbk.Closexls.QuitEnd Sub'可調用過程Public Sub getpos( x, y) x = xls.Run("getx") y = xls.Run("gety") End SubPublic Sub move(x,y)xls.Run "SetCursorPos", x, yEnd SubPublic Sub clik(keydown)Select Case UCase(keydown)Case "LEFT"xls.Run "mouse_event", &H2 + &H4, 0, 0, 0, 0Case "RIGHT"xls.Run "mouse_event", &H8 + &H10, 0, 0, 0, 0Case "MIDDLE"xls.Run "mouse_event", &H20 + &H40, 0, 0, 0, 0Case "DBCLICK"xls.Run "mouse_event", &H2 + &H4, 0, 0, 0, 0xls.Run "mouse_event", &H2 + &H4, 0, 0, 0, 0End SelectEnd SubEnd Class

寫碼不易,如果覺得從文章里學到一些知識,點贊關注收藏一下唄,為小編鼓勵一下,謝謝各位!!!

總結

以上是生活随笔為你收集整理的vbs模拟键盘和鼠标输入的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。