当前位置:编程学习 > VB >>

VB程序运行时,禁止使用键盘,并把鼠标锁定到当前窗口区域,怎么实现???急。。。等大侠给大案,在线等

VB程序运行时,禁止使用键盘,并把鼠标锁定到当前窗口区域,怎么实现???急。。。等大侠给大案,在线等
希望老师们给的详细点代码,因为刚刚接触,很多东西不明白也不理解 --------------------编程问答-------------------- 把鼠标锁定到当前窗体中功能已经实现了,现在只剩下第一个问题了:如何锁定键盘,也就是程序运行时,不允许用户使用键盘,急等答案,这个功能实现,我就可以交差了! --------------------编程问答-------------------- 调用api函数 --------------------编程问答-------------------- 能不能具体点,老师,在网上看到的答案全是这样:用api函数,可是怎么用啊,新手!请详细说明 --------------------编程问答-------------------- 有没有能具体说明的,谢谢了 --------------------编程问答-------------------- 我用键盘钩子... --------------------编程问答-------------------- [code=VBScript]

1)添加模块:代码如下:
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 lKeyHook As Long
'-------------
2)'在窗口中设置钩子:
Private Sub Form_Load()
  lKeyHook = SetWindowsHookEx(WH_KEYBOARD, AddressOf KeyboardProc, App.hInstance, GetCurrentThreadId)
End Sub
3)'程序退出时取消钩子
Private Sub Form_Unload(Cancel As Integer)
  UnhookWindowsHookEx lKeyHook
End Sub
--------------------编程问答-------------------- 错了,重发

'1)添加模块:代码如下:
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 lKeyHook As Long
            
Public Function KeyboardProc(ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  KeyboardProc = -1
End Function

'2) '在窗口中设置钩子: 
Private   Sub   Form_Load() 
    lKeyHook   =   SetWindowsHookEx(WH_KEYBOARD,   AddressOf   KeyboardProc,   App.hInstance,   GetCurrentThreadId) 
End   Sub 
'3) '程序退出时取消钩子 
Private   Sub   Form_Unload(Cancel   As   Integer) 
    UnhookWindowsHookEx   lKeyHook 
End   Sub 

--------------------编程问答-------------------- 谢谢上面的老师,上面的代码实现了键盘禁止输入,但是 系统热键仍然可以使用,怎么屏蔽掉这些键!像:Alt+F4 Ctrl+Alt+Del 以及Alt+Aab等
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,