VB中如何禁止使用ALT+Tab键切换?
1个回答
展开全部
使用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,
将消息传递给下面的钩子。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询