vb6.0版本SendMessage键盘按键参数和代码

按键 代码
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}是隐藏或显示菜单栏。

Private Declare Function SendMessage Lib “user32” Alias “SendMessageA” (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Any) As Long
Private Const WM_SETTEXT = &HC
Const EM_REPLACESEL = &HC2

’ 声明Sleep函数
Private Declare Sub Sleep Lib “kernel32” (ByVal dwMilliseconds As Long)

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

Private Sub Command1_Click()

Dim z As Object
Set z = CreateObject(“WScript.Shell”)

Call Command3_Click
'暂停一段时间,以确保目标目录已打开
Sleep 3000

z.SendKeys (“{DOWN 15}”)
Sleep 500

Call Command2_Click
'暂停一段时间,以确保目标目录已打开
Sleep 3000

Dim S As String
S = Text1.Text
Shell S, vbNormalFocus
Sleep 3000

'打开目标目录
shell “explorer.exe C:\Users\28261\Desktop”, vbNormalFocus
Sleep 3000

' 打开目标目录
Shell "explorer.exe C:\Users\28261\Documents", vbNormalFocus
' 暂停一段时间,以确保目标目录已打开
Sleep 3000

z.SendKeys (“{DOWN 2}”)
Sleep 500

End Sub

Private Sub Command1_Click
Dim m As Object
Set m = CreateObject(“WScript.Shell”)

'打开目标程序
Shell “密码登录程序.exe”, vbNormalFocus
Sleep 3000

Dim S As String
S = Text1.Text
Shell S, vbNormalFocus
Sleep 3000

m.SendKeys"{tab}"
Sleep 300

m.SendKeys"03"
Sleep 300

m.SendKeys"{tab 2}"
Sleep 300

m.SendKeys"{Enter}"
Sleep 300

m.SendKeys"{ }"
Sleep 300

m.SendKeys"{Esc}"
Sleep 300

m.SendKeys"^A"
Sleep 300

m.SendKeys"^C"
Sleep 300

m.SendKeys"^V"
Sleep 300

m.SendKeys"%{tab}"
Sleep 300

m.SendKeys"%+{tab}"
Sleep 300

m.SendKeys"{alt+空格+N}"
Sleep 300

m.SendKeys"{alt+空格+X}"
Sleep 300

m.SendKeys"{F1}"
Sleep 300

m.SendKeys"{F2}"
Sleep 300

m.SendKeys"{F3}"
Sleep 300

m.SendKeys"{F4}"
Sleep 300

m.SendKeys"{F5}"
Sleep 300

m.SendKeys"{F6}"
Sleep 300

m.SendKeys"{F7}"
Sleep 300

m.SendKeys"{F8}"
Sleep 300

m.SendKeys"{F9}"
Sleep 300

m.SendKeys"{F10}"
Sleep 300

m.SendKeys"{F11}"
Sleep 300

m.SendKeys"{F12}"
Sleep 300

m.SendKeys"{BackSpace}"
Sleep 300

m.SendKeys"{Home}"
Sleep 300

m.SendKeys"{End}"
Sleep 300

m.SendKeys"{win}"
Sleep 300

m.SendKeys"{DELETE}"
Sleep 300

m.SendKeys"^X"
Sleep 300

m.SendKeys"^D"
Sleep 300

m.SendKeys"^N"
Sleep 300

m.SendKeys"^O"
Sleep 300

m.SendKeys"{CTRL+空格}"
Sleep 300

m.SendKeys"{WIN+D}"
Sleep 300

m.SendKeys"{WIN+ E}"
Sleep 300

m.SendKeys"{WIN+ M}"
Sleep 300

m.SendKeys"{WIN+ R}"
Sleep 300

m.SendKeys"{WIN+ I}"
Sleep 300

m.SendKeys"{Shift + Tab}"
Sleep 300

m.SendKeys"{Ctrl+tab}"
Sleep 300

m.SendKeys"{CTRL+Shift}"
Sleep 300

m.SendKeys"{ALT+F4}"
Sleep 300

m.SendKeys"{ALT+Enter}"
Sleep 300

m.SendKeys"^{Esc}"
Sleep 300

m.SendKeys"^{ALT+DELETE}"
Sleep 300

m.SendKeys"{SHIFT+DELETE}"
Sleep 300

m.SendKeys"^S"
Sleep 300

m.SendKeys"{SHIFT+F10}"
Sleep 300

m.SendKeys"^{F4}"
Sleep 300

m.SendKeys"{ALT+空格键}"
Sleep 300

m.SendKeys"{Ctrl+W}"
Sleep 300

m.SendKeys"^Z"
Sleep 300

m.SendKeys"^Y"
Sleep 300

m.SendKeys"^{F11}"
Sleep 300

End Sub

Private Sub Command1_Click()

' 打开文本文件
ShellExecute Me.hWnd, "Open", "C:\Users\28261\Desktop\查找文件并输入内容程序源代码\空.txt", vbNullString, vbNullString, vbNormalFocus

Sleep 300

End Sub

Private Sub Command2_Click()
’ 打开应用程序
filePath = “C:\Users\28261\Desktop\查找文件并输入内容程序源代码\文本框密码登录程序.exe”
ShellExecute Me.hWnd, “Open”, filePath, vbNullString, vbNullString, vbNormalFocus
End Sub

Private Sub Command3_Click()
Dim filePath As String
Dim fileContent As String

' 获取文件路径和内容
filePath = "C:\Users\28261\Desktop\查找文件并输入内容程序源代码\空.txt"
fileContent = Text1.text

' 打开文本文件
ShellExecute Me.hWnd, "Open", filePath, vbNullString, vbNullString, vbNormalFocus

End Sub

以下待测试

            ' 发送 Backspace 键消息
            SendMessage Me.hWnd, WM_KEYDOWN, VK_BACK, 0
            SendMessage Me.hWnd, WM_KEYUP, VK_BACK, 0




            ' 发送 Enter 键消息
            SendMessage Me.hWnd, WM_KEYDOWN, VK_RETURN, 0
            SendMessage Me.hWnd, WM_KEYUP, VK_RETURN, 0


           ' 发送焦点向下移(Down)键消息
            SendMessage Me.hWnd, WM_KEYDOWN, VK_DOWN, 0
            SendMessage Me.hWnd, WM_KEYUP, VK_DOWN, 0


            ' 发送 Delete 键消息
            SendMessage Me.hWnd, WM_KEYDOWN, VK_DELETE, 0
            SendMessage Me.hWnd, WM_KEYUP, VK_DELETE, 0

vbKeyControl 0x11 CTRL 键
vbKeyC 67 字母 C 键

’ 发送 Ctrl+C键消息
SendMessage Me.hWnd, WM_KEYDOWN, VK_Control, 0
SendMessage Me.hWnd, WM_KEYUP, VK_Control, 0
SendMessage Me.hWnd, WM_KEYDOWN, VK_C, 0
SendMessage Me.hWnd, WM_KEYUP, VK_C, 0

’ 发送 Ctrl+C键消息
SendMessage Me.hWnd, WM_KEYDOWN, VK_Control, 0
SendMessage Me.hWnd, WM_KEYDOWN, VK_C, 0
SendMessage Me.hWnd, WM_KEYUP, VK_C, 0
SendMessage Me.hWnd, WM_KEYUP, VK_Control, 0

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 以下是一个使用VB6.0控制摄像头拍照并存储照片的代码案例: 首先,你需要在VB6.0的工具箱中引入"Windows Image Acquisition Library v2.0"。 然后,在窗体上放置一个“Image”控件以显示拍到的照片。 接下来,添加一个按钮控件,命名为“BtnCapture”,用于触发拍照操作。 在窗体的代码模块中添加以下代码: ``` Dim WithEvents Camera As WIA.CommonDialog Private Sub Form_Load() Set Camera = New WIA.CommonDialog End Sub Private Sub BtnCapture_Click() Dim Image As WIA.ImageFile On Error Resume Next Set Image = Camera.ShowTransfer(Camera.ShowAcquireImage) '打开摄像头窗口 If Not Image Is Nothing Then '如果成功拍到照片 Image.SaveFile "D:\Photos\photo.jpg" '修改文件路径为你希望存储照片的位置和文件名 Set Image = Nothing '释放图像对象 '显示照片 Image1.Picture = LoadPicture("D:\Photos\photo.jpg") '同样修改文件路径为你存储照片的位置 Image1.Refresh End If End Sub ``` 以上代码中,点击按钮“BtnCapture”会打开摄像头窗口,拍照并将照片保存到指定文件路径。然后,使用控件“Image1”显示刚才拍的照片。 请注意,将“D:\Photos\photo.jpg”替换为你希望存储照片的文件路径和文件名。确保指定的文件夹存在,否则可能会出现错误。 希望对你有所帮助! ### 回答2: 以下是一个使用VB6.0控制摄像头拍照并存储照片的代码案例: 首先,你需要确保你的计算机上已经安装了摄像头相应的驱动程序和软件。 接下来,在VB6.0中创建一个新的Windows应用程序项目。 在窗体上添加一个Command按钮,命名为btnCapture,并添加一个Image控件,命名为imgPhoto。 在btnCapture的Click事件中添加以下代码: Private Sub btnCapture_Click() Dim cap As New VideoCap Dim photo As Image Set photo = imgPhoto.Picture ' 打开摄像头设备 If cap.StartVideo(DetectVideoCapture()) Then ' 截取当前摄像头画面并保存为照片 cap.Snapshot photo ' 保存照片到指定路径 SavePicture photo, "C:\照片.jpg" ' 关闭摄像头设备 cap.StopVideo End If End Sub 点击运行,当你点击btnCapture按钮时,它将打开摄像头设备并截取当前摄像头画面,并将其保存为照片。照片将被保存在C盘根目录下,命名为“照片.jpg”。 请注意,上述代码中引用了一个名为VideoCap的自定义类。你需要在VB6.0项目中添加该类的模块,并在其中添加以下代码: Option Explicit Private Declare Function capCreateCaptureWindow Lib "avicap32.dll" Alias "capCreateCaptureWindowA" (ByVal lpszWindowName As String, ByVal dwStyle As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hWndParent As Long, ByVal nID As Long) As Long Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Public Function DetectVideoCapture() As Long Dim hWndC As Long Dim hWndP As Long hWndP = FindWindow(vbNullString, "Microsoft Windows") hWndC = capCreateCaptureWindow("CaptureWindow", &H10000000, 0, 0, 640, 480, hWndP, 0) DetectVideoCapture = hWndC End Function Public Function StartVideo(ByVal hWndC As Long) As Boolean Dim result As Long result = SendMessage(hWndC, &H400, 0, 0) StartVideo = result <> 0 End Function Public Function StopVideo(ByVal hWndC As Long) As Boolean Dim result As Long result = SendMessage(hWndC, &H401, 0, 0) StopVideo = result <> 0 End Function Public Function Snapshot(ByVal photo As Image) As Boolean Dim bytesTotal As Long Dim bytesSaved As Long Dim bitmapData() As Byte Dim bm As Bitmap Dim i As Integer Dim j As Integer bytesTotal = Image.Width * Image.Height * 3 ReDim bitmapData(bytesTotal) bytesSaved = SendMessage(hWndC, &H43C, bytesTotal, bitmapData(0)) If bytesSaved <> bytesTotal Then Snapshot = False Exit Function End If Set bm = New Bitmap(Image.Width, Image.Height, PixelFormat.Format24bppRgb) For i = 0 To Image.Height - 1 For j = 0 To Image.Width - 1 bm.SetPixel j, i, RGB(bitmapData(3 * (Image.Width * i + j) + 2), bitmapData(3 * (Image.Width * i + j) + 1), bitmapData(3 * (Image.Width * i + j))) Next j Next i photo.Picture = bm Snapshot = True End Function 请注意,上述VideoCap类的代码是用来封装了一些Windows API函数,用于检测摄像头设备、打开摄像头、关闭摄像头以及截取当前画面并保存的功能。 ### 回答3: VB6.0控制摄像头拍照并存储照片的代码案例如下: 1. 首先,需要在VB6.0中添加Microsoft Windows Image Acquisition Library (WIA)的引用。在VB6.0的开发环境中,依次点击“项目”->“引用”,在弹出的窗口中勾选“Microsoft Windows Image Acquisition Library v2.0”并点击确定。 2. 创建一个新的窗体,在窗体上放置一个命令按钮控件,命名为Command1。 3. 在命令按钮的OnClick事件中编写以下代码: ``` Private Sub Command1_Click() Dim WIA As New WIA.CommonDialog Dim Image As WIA.ImageFile On Error Resume Next Set Image = WIA.ShowAcquireImage If Image Is Nothing Then MsgBox "未检测到摄像头或摄像头不可用。" Else Dim SavePath As String SavePath = "C:\Images\photo.jpg" '请替换为你希望保存照片的路径和文件名 On Error Resume Next Image.SaveFile SavePath If Err.Number <> 0 Then MsgBox "保存照片出错。" Else MsgBox "照片已保存至 " & SavePath End If End If End Sub ``` 4. 运行程序,点击按钮即可调用摄像头拍照,照片将保存至指定路径。若未检测到摄像头或摄像头不可用,将弹出相应的提示。 需要注意的是,该代码案例使用了WIA库来控制摄像头拍照,使用前需要确保计算机上已经安装了摄像头并且摄像头可用,否则可能无法正常拍照。此外,还需要根据自己的需求修改保存路径和文件名。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EYYLTV

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值