永发信息网

vb中如何禁用ALT键

答案:3  悬赏:0  手机版
解决时间 2021-03-27 02:14
  • 提问者网友:我没有何以琛的痴心不悔
  • 2021-03-26 20:05
vb中如何禁用ALT键
最佳答案
  • 五星知识达人网友:蓝房子
  • 2021-03-26 21:42
哇,130分咧。。我教你:先要搞清楚是哪种种情况,一共三种:1.是想让所有的程序不接受ALT键:用SetWindowsHookEx设置一个全局键盘钩子2.指定的某个程序不接受ALT键:用SetWindowsHookEx设置某个进程的键盘钩子3.你正在编写的程序不接受ALT键:在keyDown事件中过滤掉ALT键的ASCII码就可以了。如果你不会写钩子程序的话,我在这里给你代码了你也看不懂。你加我Q9372401,我教你用VB装钩子。。分看着点给,谁解决问题就给谁。
全部回答
  • 1楼网友:躲不过心动
  • 2021-03-26 22:41
你想实现什么效果,详细说一下。
  • 2楼网友:撞了怀
  • 2021-03-26 22:21
使用Hook(钩子函数)即可截获ALT+TAB
Windows的钩子函数分两种,一种是全局的,一种是线程的。全局的钩子函数可以捕获任何应用程序的消息,但必须是标准的DLL才能实现,VB做不了。VB可以实现线程的,就是当前应用程序的消息,这对鼠标消息的捕捉有影响。
SetWindowsHookEx定义如下:
Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
idHook是钩子类型,如WH_KEYBOARD捕捉键盘消息,而WH_MOUSE捕捉鼠标消息。hmod用于全局钩子,VB要实现钩子,必须设为0。dwThreadId用于线程钩子VB中可以设置为App.ThreadID。lpfn为钩子函数,在VB中可以使用AddressOf获得钩子函数的地址。这个函数因为钩子类型不同而有所不同。如键盘钩子为:
Public Function KeyboardProc(ByVal nCode As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long
如果Code不为0,钩子函数必须调用CallNextHookEx,将消息传递给下面的钩子。wParam和lParam不是按键。
可以到这里看看: http://nhzzljp.vicp.net/Article/show.asp?id=110
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯