VB.NET里的SendMessage键盘按键参数和代码

110 阅读8分钟

按键 代码 SHIFT + CTRL ^ ALT %

a是tab切换焦点和切换控件,

b是enter换行或进入或确定, c是 空格, d是Esc是取消或停止或关闭, e是CTRL+A即^A是全选, f是CTRL+C即^C是复制, g是CTRL+V即^V是粘贴,

h是Alt+tab即%{tab}是切换窗口, Alt+++tab即%+{tab}是切换上一个窗口,

i是alt+空格+N是最小化窗口, j是alt+空格+X是最大化窗口, k是F1是显示帮助, l是F2是重命名文件, m是F3是查找或搜索, n是F4是另存为或“地址”栏列表, o是F5是刷新, p是F6是在窗口或桌面上循环切换子菜单, q是F7是DoS下专用功能, r是F8是Windows 启动选项, s是F9是Excel 中计算公式, t是F10是激活菜单栏, u是F11是切换全屏, v是F12是Word 里另存文档, w是BackSpace是删除左侧一个字符或返回上一页, x是Home是移至行首, y是End是移至行尾, z是win是打开开始菜单, A是DELETE是删除右侧一个字符, B是CTRL+X即^X是剪切, C是CTRL+D即^D是删除, D是CTRL+N即^N是新建, E是CTRL+O即^O是打开, F是CTRL+空格是中英文输入切换
G是win+D是显示桌面, H是win+E是打开资源管理器, I是win+M是最小化所有窗口, J是win+R是运行,

win+i是设置.

K是Shift+tab是在选项之间向后移动, L是Ctrl + Tab是切换到下一选项卡, M是CTRL+Shift即CTRL+Shift是输入法切换, N是ALT+F4是关闭当前文件或者关闭计算机, O是ALT+Enter是打开文件属性, P是CTRL+Esc即^{Esc}是开始菜单, Q是CTRL+ALT+DELETE是打开任务管理器, R是SHIFT+DELETE是永久删除所选项, S是CTRL+S即^S是保存文档, T是SHIFT+F10是选中文件的右菜单或显示所选项的快捷菜单, U是CTRL+F4即^{F4}是关闭当前窗口, V是ALT+空格键是显示程序"控制"菜单, W是Ctrl+W是关闭文档, X是CTRL+Z即^Z是撤销, Y是CTRL+Y即^Y是恢复, Z是CTRL+F11即^{F11}是隐藏或显示菜单栏。

Imports System.IO Imports System.Runtime.InteropServices

Public Class Form1 <DllImport("user32.dll", CharSet:=CharSet.Auto)> Private Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal Msg As Integer, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr End Function

Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click


    Dim a

    SendKeys.Send("%{tab}")
            '等待一段时间,确保程序已经成功打开
    Threading.Thread.Sleep(1000)


    SendKeys.Send("{tab 2}")
            '等待一段时间,确保程序已经成功打开
    Threading.Thread.Sleep(200)



    Button4.PerformClick() '复制按钮



    '粘贴内容
    SendKeys.SendWait("^v") ' 粘贴文本
    Threading.Thread.Sleep(200)


    SendKeys.Send("{tab}")
            '等待一段时间,确保程序已经成功打开
    Threading.Thread.Sleep(200)



    SendKeys.Send("{Enter}")
            '等待一段时间,确保程序已经成功打开
    Threading.Thread.Sleep(200)


    SendKeys.Send("{Enter}")
            '等待一段时间,确保程序已经成功打开
    Threading.Thread.Sleep(200)


    For a = 0 To 34

        SendKeys.Send("{tab 2}")
                '等待一段时间,确保程序已经成功打开
        Threading.Thread.Sleep(200)


        Button4.PerformClick() '复制按钮




        SendKeys.Send("{Backspace 5}") ' 删除文本
        Threading.Thread.Sleep(200)


        '粘贴内容
        SendKeys.SendWait("^v") ' 粘贴文本
        Threading.Thread.Sleep(200)


        SendKeys.Send("{tab}")
                '等待一段时间,确保程序已经成功打开
        Threading.Thread.Sleep(200)



        SendKeys.Send("{Enter}")
                '等待一段时间,确保程序已经成功打开
        Threading.Thread.Sleep(200)


        SendKeys.Send("{Enter}")
                '等待一段时间,确保程序已经成功打开
        Threading.Thread.Sleep(200)

    Next
End Sub




    Dim hWnd As IntPtr = Shell("C:\Users\Administrator\Desktop\按键密码恢复程序源代码ZQ2023-11-16-11-21\登录程序.exe", AppWinStyle.NormalFocus)
            '等待一段时间,确保程序已经成功打开
    Threading.Thread.Sleep(1000)

Private Sub Form_Load() TextBox1.text = "C:\Users\28261\Desktop\文本框密码登录程序.exe" End Sub

Private Sub Command1_Click()

Button2.PerformClick() '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send("{DOWN 15}") '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

Private Sub Command1_Click

'打开目标程序 Shell "密码登录程序.exe", vbNormalFocus '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

Dim S As String S = TextBox1.Text Shell S, vbNormalFocus '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"{tab}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"03" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"{tab 2}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"{Enter}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"{ }" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"{Esc}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"^A" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"^C" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"^V" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"%{tab}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"%+{tab}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"{alt+空格+N}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"{alt+空格+X}" '等待一段时间,确保程序已经成功打开 Threading.Thread.Sleep(200)

SendKeys.Send"{F1}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"{F2}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"{F3}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"{F4}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"{F5}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"{F6}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"{F7}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"{F8}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"{F9}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"{F10}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"{F11}" '等待一段时间,确保程序已经成功打开 Threading.Thread.Sleep(200)

SendKeys.Send"{F12}" '等待一段时间,确保程序已经成功打开 Threading.Thread.Sleep(200)

SendKeys.Send"{BackSpace}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"{Home}" '等待一段时间,确保程序已经成功打开 Threading.Thread.Sleep(200)

SendKeys.Send"{End}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"{win}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"{DELETE}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"^X" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"^D" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"^N" '等待一段时间,确保程序已经成功打开 Threading.Thread.Sleep(200)

SendKeys.Send"^O" '等待一段时间,确保程序已经成功打开 Threading.Thread.Sleep(200)

SendKeys.Send"{CTRL+空格}" '等待一段时间,确保程序已经成功打开 Threading.Thread.Sleep(200)

SendKeys.Send"{WIN+D}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"{WIN+ E}" '等待一段时间,确保程序已经成功打开 Threading.Thread.Sleep(200)

SendKeys.Send"{WIN+ M}" '等待一段时间,确保程序已经成功打开 Threading.Thread.Sleep(200)

SendKeys.Send"{WIN+ R}" '等待一段时间,确保程序已经成功打开 Threading.Thread.Sleep(200)

SendKeys.Send"{WIN+ I}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"{Shift + Tab}" '等待一段时间,确保程序已经成功打开 Threading.Thread.Sleep(200)

SendKeys.Send"{Ctrl+tab}" '等待一段时间,确保程序已经成功打开 Threading.Thread.Sleep(200)

SendKeys.Send"{CTRL+Shift}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"{ALT+F4}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"{ALT+Enter}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"^{Esc}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"^{ALT+DELETE}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"{SHIFT+DELETE}" '等待一段时间,确保程序已经成功打开 Threading.Thread.Sleep(200)

SendKeys.Send"^S" '等待一段时间,确保程序已经成功打开 Threading.Thread.Sleep(200)

SendKeys.Send"{SHIFT+F10}" '等待一段时间,确保程序已经成功打开 Threading.Thread.Sleep(200)

SendKeys.Send"^{F4}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"{ALT+空格键}" '等待一段时间,确保程序已经成功打开 Threading.Thread.Sleep(200)

SendKeys.Send"{Ctrl+W}" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"^Z" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"^Y" '等待一段时间,确保程序已经成功打开
Threading.Thread.Sleep(200)

SendKeys.Send"^{F11}" '等待一段时间,确保程序已经成功打开 Threading.Thread.Sleep(200)

End Sub