vb6如何触发一个按键,比如F2键?

PrivateDeclareFunctionGetAsyncKeyStateLib"user32"(ByValvkeyAsLong)AsIntegerPrivateSub... Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vkey As Long) As Integer
Private Sub Form_Load()
Timer1.Interval = 1
End Sub
Private Sub Timer1_Timer()
If MyHotKey(vbKeyF2) Then MsgBox "使用了F2键!"
End Sub
Private Function MyHotKey(vKeyCode) As Boolean
MyHotKey = (GetAsyncKeyState(vKeyCode) < 0)
End Function
我想让程序能触发一个按键,比如我要触发F2键。我目前找到的方法是上面这个,但我总觉着一直用着计时器Timer,会不会影响程序的效率?
所以想问有没有其他的方法,不用计时器,就可以触发一个按键。
最终用了RegisterHotKey。
展开
 我来答
帐号已注销
2014-12-13 · TA获得超过898个赞
知道大有可为答主
回答量:1482
采纳率:0%
帮助的人:948万
展开全部
在keydown 事件里就行了
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 113 Then MsgBox "F2"
End Sub
追问
这样不行吧,如果窗体上没有控件是可以的,但是窗体上不可能没控件呀。
追答
哪个获得焦点,就用那个检测,只要你的控件支持keydowm,用你的控件出发也行
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式