如何屏蔽键盘
在Visual Basic中,如何屏蔽键盘,请指教。 问题点数:50、回复次数:8Top
1 楼peacock()回复于 2000-02-26 17:09:00 得分 0
在KeyPress中写入下面的代码:
KeyAscii=0Top
2 楼jjia84()回复于 2000-02-26 17:44:00 得分 0
对不起,可能是我刚才没说清楚,我想知道如何在整个程序中使键盘不发挥作用。
(包括Ctrl+Atl+Delete)Top
3 楼Firing_Sky(火的天空)回复于 2000-02-26 20:23:00 得分 5
那可能要用到钩子程序,请查阅论坛的 Hook 关键字Top
4 楼rabbit(Mail_Man)回复于 2000-03-01 19:17:00 得分 5
当然是使用HOOK了Top
5 楼Un1()回复于 2000-03-01 19:21:00 得分 0
把键盘拔掉!Top
6 楼jiajia()回复于 2000-03-01 20:55:00 得分 0
hi
Top
7 楼Tony_Yuan()回复于 2000-03-01 21:24:00 得分 40
可以使用钩子函数
首先声明api函数和常量
Public 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
Public Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
Public Declare Function GetCurrentThreadId Lib "kernel32" () As Long
Public Const WH_KEYBOARD = 2
Public gLngKeyHook As Long
Public Function KeyboardProc(ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
KeyboardProc = -1
End Function
然后在窗口中设置钩子函数:
gLngKeyHook = SetWindowsHookEx(WH_KEYBOARD, AddressOf KeyboardProc, App.hInstance, GetCurrentThreadId)
最后别忘了在unload时取消钩子函数
UnhookWindowsHookEx gLngKeyHook
希望以上对你有帮助Top
8 楼lzj60(愚公)回复于 2001-07-27 10:53:40 得分 0
看了Tony_Yuan 的程序非常好,可不知怎样封掉ctri-alt-del 这三个键?请指教。Top




