VB中如何禁止使用ALT+Tab键切换?
答案:2 悬赏:80 手机版
解决时间 2021-04-07 22:50
- 提问者网友:心如荒岛囚我终老
- 2021-04-07 07:44
VB中如何禁止使用ALT+Tab键切换?
最佳答案
- 五星知识达人网友:底特律间谍
- 2021-04-07 07:53
使用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,
将消息传递给下面的钩子。
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,
将消息传递给下面的钩子。
全部回答
- 1楼网友:风格不统一
- 2021-04-07 08:29
ppt中的超链接功能可以代替 alt+tab键不 或者 vb宏(e…8452
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯