使用GetAsyncKeyState来设置组合键,就是热键的设置

GetAsyncKeyState的基本代码就是下面的……PrivateDeclareFunctionGetAsyncKeyStateLib"user32"(ByValvK... GetAsyncKeyState的基本代码就是下面的……

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer '声明

Function GetKey() As String
Dim AddKey As String
KeyResult = GetAsyncKeyState(32) '回车键
If KeyResult = -32767 Then
要做的事情……
End If

这里是设为回车键,单个键偶会设~
那设“Ctrl+1”等的组合键该怎么设值呢?
有什么规律或者查表能找到值的呢?
可不可以就用这个程序中实现,不用到注册热键~
展开
 我来答
匿名用户
2013-12-20
展开全部
【VB声明】
Private Declare Function GetAsyncKeyState Lib "user32" Alias "GetAsyncKeyState" (ByVal vKey As Long) As Integer

【说明】
判断函数调用时指定虚拟键的状态

【返回值】
Long,自对GetAsyncKeyState函数的上一次调用以来,如键已被按过,则位0设为1;否则设为0。如键目前处于按下状态,则位15设为1;如抬起,则为0。微软的win32手册指出:倘若输入焦点从属于与调用函数的输入线程不同的另一个输入线程,则返回值为0(例如,一旦另一个程序拥有焦点,则它应返回零)。证据显示,函数实际是在整个系统的范围内工作的

【备注】
如指定了VK_LBUTTON 或 VK_RBUTTON,按钮的状态就会根据实际的按钮报告——无论是否曾用SwapMouseButton函数对鼠标的位置进行了交换。win32提供了额外的一些虚拟键码,比如VK_LSHIFT
和 VK_RSHIFT,以便在两个完全一样的键中区分出左右(也包括Ctrl 和
Alt)

【参数表】
vKey ---- Long,欲测试的虚拟键的键码

用循环,判断出每个键的状态
匿名用户
2013-12-20
展开全部
If GetAsyncKeyState(vbKeyControl) And GetAsyncKeyState(vbKey1) Then
msgbox "Ctrl+1"
End If

这样就可以了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式