通过这一段代码要设置F8为快捷键,他是如何设置成功的?VB小白 不明白为啥

keyResult=GetAsyncKeyState(119)IfkeyResult=-32767ThenIfMe.Visible=FalseThenMe.Visible... keyResult = GetAsyncKeyState(119)
If keyResult = -32767 Then

If Me.Visible = False Then
Me.Visible = True
Me.SetFocus
Else
Me.Hide
End If

End If
展开
 我来答
网海1书生
科技发烧友

2014-12-11 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
GetAsyncKeyState这个API函数是用来检测某个键的状态的,119是F8这个键的虚拟键码,因此GetAsyncKeyState(119)就是检测F8键的当前状态的意思。

这个函数的返回值中如果位15为1,表示该键目前处于按下状态;如果位0为1,则表示在上次调用GetAsyncKeyState函数后该键曾经被按过。

如果你不太明白什么叫“位”,下面我就简单说说:
一个整数的位15为1,用二进制表示就是 1000000000000000 ,16进制为&H8000,十进制为-32768;
而位0为1,就是 0000000000000001,也就是1,这个简单;
两者加起来就是 -32767 了。
不过用 If keyResult = -32767 Then 来判断键是否按下是不严谨的,应该这样:

If keyResult <> 0 Then
深圳市容大彩晶科技有限公司
2024-11-20 广告
作为深圳市容大彩晶科技有限公司的工作人员,对于公司广告机的功能有一定的了解。公司的广告机是否支持多语言显示,具体需根据产品型号和功能配置来确定。但一般而言,现代广告机通常具备多语言显示的功能,以适应不同国家和地区的需求。建议直接查阅产品说明... 点击进入详情页
本回答由深圳市容大彩晶科技有限公司提供
匿名用户
2014-12-11
展开全部
GetAsyncKeyState,是一个函数,用来判断函数调用时指定虚拟键的状态。
119是[F8]
keyResult = GetAsyncKeyState(119) ‘按下F8键

If keyResult = -32767 Then '键盘按下状态

下面的判断

上面判断有没有按F8,有就执行下面的了啊。
追问
SetFocus    设置的焦点是F8吗?
追答
Me.SetFocus ‘是把焦点设置为窗体本身,不是F8
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式