使用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”等的组合键该怎么设值呢?
有什么规律或者查表能找到值的呢?
可不可以就用这个程序中实现,不用到注册热键~ 展开
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,欲测试的虚拟键的键码
用循环,判断出每个键的状态
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
这样就可以了
msgbox "Ctrl+1"
End If
这样就可以了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询