dac8282 发表于 2012-5-5 20:44:36

请问怎么屏蔽 Alt+Tab 键?已解决

本帖最后由 dac8282 于 2012-5-7 11:18 编辑

借用网上大侠们的代码做了一个锁定桌面,输入用户名密码才能的代码,但是现在使用Alt+Tab就可以显示下面的任务栏,请问怎么拦截这个组合键?
;以下为键盘屏蔽函数
Func _keyproc($nCode, $wParam, $lParam)

      Local $tKEYHOOKS

      If $nCode < 0 Then

                Return _WinAPI_CallNextHookEx($_hook, $nCode, $wParam, $lParam) ;键盘消息传递到下一个钩子

      EndIf

      $tKEYHOOKS = DllStructCreate($tagKBDLLHOOKSTRUCT, $lParam)

      Switch $wParam

                Case $WM_KEYDOWN

                        $_endkey = DllStructGetData($tKEYHOOKS, "vkCode")
                        MsgBox(0,"key",$_endkey,2)
                        Switch $_endkey

                              Case 91 To 92;左,右win键

                                        Return 1 ;1为禁用,0为开启

                        EndSwitch

      EndSwitch

EndFunc   ;==>_keyproc

happytc 发表于 2012-5-5 20:50:28

下一步你又要问如何屏蔽Ctrl+Alt+Del了

user3000 发表于 2012-5-5 21:10:00

回复 1# dac8282

好心给楼主你一点提示吧!
此类问题, 可以搜索 '按键屏蔽' 或 '屏蔽', 或 '挂机锁' 之类.
会有你想要的答案的! 提问前, 应该先搜索一下!

ooxxgod 发表于 2012-5-5 23:28:20

我记得有个UDF 是可以做到 你找找吧

tryhi 发表于 2012-5-6 01:07:43

本帖最后由 tryhi 于 2012-5-6 01:21 编辑

沙发说得很对,椅子已经给你答案了,板凳说了跟没说一样。
接下来楼主可能会问按了win键会显示任务栏,然后是按了ctrl+esc、然后是按了win+d、可能还会是Alt+空格
楼主注册个号不容易,提示一下
HotKeySet('!{tab}','a')
Sleep(10000000)
Func a()
EndFunc

zerobin 发表于 2012-5-6 01:23:55

楼主看下 http://www.autoitx.com/forum.php?mod=viewthread&tid=22655&highlight=HotKeySet
关注下 hotkeyset

netegg 发表于 2012-5-6 04:01:34

blockinputex udf?

dac8282 发表于 2012-5-7 11:15:28

本帖最后由 dac8282 于 2012-5-7 11:16 编辑

Switch $wParam

                Case $WM_KEYDOWN

                        $_endkey = DllStructGetData($tKEYHOOKS, "vkCode")
                      ; MsgBox(0,"key",$_endkey,1)
                        Switch $_endkey
                                 
                                 Case 91 To 92;左,右win键

                                        Return 1 ;1为禁用,0为开启
                                                                        Case 164 ;左右alt键
                                                                                Return 1
                                                                        Case 162 To 163;Ctrl键162左163右
                                                                                Return 1
                                                               



                        EndSwitch

      EndSwitch
               Local $flags = DllStructGetData($tKEYHOOKS, "flags")
               ; MsgBox(0,"key",$flags,1)
                Switch $flags
                        Case $LLKHF_ALTDOWN
                                                                           Return 1
                                                           EndSwitch
谢谢大家,现在可以屏蔽住ALT和Ctrl键了。
页: [1]
查看完整版本: 请问怎么屏蔽 Alt+Tab 键?已解决