关于api中,keybd_event中的参数

sinaean 2003-08-22 12:57:21
ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long

里面 bvk 和bscan具体的参数(键盘码常数)有哪些?
...全文
171 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sinaean 2003-08-22
  • 打赏
  • 举报
回复
没有人知道?
HzqSoft 2003-08-22
  • 打赏
  • 举报
回复
keybd_event函数我只用过一次,是模拟printscreen按键时用的,我具体用法是:

申明api
Public Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Public Const theScreen = 1
Public Const theForm = 0
然后,
Call keybd_event(vbKeySnapshot, theScreen, 0, 0) ' 截取当前窗体所在屏幕图像
Call keybd_event(vbKeySnapshot, theform, 0, 0) ' 截取当前屏幕图像
这是我从vb爱好者上学的,你也可以去看看
http://www.sijiqing.com/vbgood/experience/index.asp?action=read&id=3313
希望能对你有所帮助!

boyzhang 2003-08-22
  • 打赏
  • 举报
回复
'附上老外的例程一段,自己研究吧,很简单的.... :)

Const VK_H = 72
Const VK_E = 69
Const VK_L = 76
Const VK_O = 79
Const KEYEVENTF_EXTENDEDKEY = &H1
Const KEYEVENTF_KEYUP = &H2
Private Declare Sub keybd_event Lib "user32.dll" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Sub Form_KeyPress(KeyAscii As Integer)
'Print the key on the form
Me.Print Chr$(KeyAscii);
End Sub
Private Sub Form_Paint()
'KPD-Team 2000
'URL: http://www.allapi.net/
'E-Mail: KPDTeam@Allapi.net
'Clear the form
Me.Cls
keybd_event VK_H, 0, 0, 0 ' press H
keybd_event VK_H, 0, KEYEVENTF_KEYUP, 0 ' release H
keybd_event VK_E, 0, 0, 0 ' press E
keybd_event VK_E, 0, KEYEVENTF_KEYUP, 0 ' release E
keybd_event VK_L, 0, 0, 0 ' press L
keybd_event VK_L, 0, KEYEVENTF_KEYUP, 0 ' release L
keybd_event VK_L, 0, 0, 0 ' press L
keybd_event VK_L, 0, KEYEVENTF_KEYUP, 0 ' release L
keybd_event VK_O, 0, 0, 0 ' press O
keybd_event VK_O, 0, KEYEVENTF_KEYUP, 0 ' release O
End Sub
sinaean 2003-08-22
  • 打赏
  • 举报
回复
主要是ctlr+enter

1,485

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧