键盘输入的问题:怎样读出按住ctrl又按其他键 ctrl的keycode是多少

jiangjian0427 2002-08-08 02:32:22
同上
...全文
1002 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
thirdapple 2002-08-09
  • 打赏
  • 举报
回复
楼上的,理解题意有误哦!
--------------------------------------------------------------------
解决方法,首先在KeyPress中捕获Ctrl按下的事件,然后用GetKeyboardState判断其他键是否按下,关于此API函数概述如下:
【函数】
GetKeyboardState

【操作系统】
Win9X:Yes
WinNT:Yes

【声明】
GetKeyboardState Lib "user32" Alias "GetKeyboardState" (pbKeyState As Byte) As Long

【说明】

取得键盘上每个虚拟键当前的状态

【返回值】

Long,非零表示成功,零表示失败。会设置GetLastError

【其它】

虚拟键码常数 VK_?
作为数组的索引使用。这个函数相应于取得按键状态于一瞬间的“快照”——键按下或松开以后,数组不会自动更新。在win32中注意用一个字节数组避免由于vb向Unicode的内部转换而导致错误

【参数表】
pbKeyState ----- Long,总共含256个条目的字节数组中的第一个项目。每个字节都会附带载入与虚拟键对应的状态。如开关键打开,则位0设为1(开关键包括CapsLock,
NumLock, ScrollLock);如某个键当时按下,则位7为1;如已经抬起,则为0
《Swin_API》
--------------------------------------------------------------------
另,我想你是想实现快捷键吧!这还可以在系统中建立HotKey实现,具体的不大记得了。
--------------------------------------------------------------------
Made by Thirdapple's Studio(http://3rdapple.51.net/)
lamshy 2002-08-09
  • 打赏
  • 举报
回复
用KeyPress事件就可以了!
例如:

Private Sub Form_KeyPress(KeyAscii As Integer)
Debug.Print KeyAscii
End Sub

lamshy 2002-08-09
  • 打赏
  • 举报
回复
Ctrl的keycode是 17





7,763

社区成员

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

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