在WIN2K中拦截Alt+Tab,Alt+F4,Ctrl+Esc的模块,希望大家喜欢!(忘了是从哪来的,先原作者至歉。)

转载 2004年06月26日 13:42:00

'*************************************************************************
'**模 块 名:拦截Alt+Tab,Alt+F4,Ctrl+Esc
'**日    期:2004年05月16日
'**描    述:载入时用 Hook(),  卸载时用UnHook()
'*************************************************************************
'在WIN2K中,执行下面的程序中的Hook(),可以拦截Alt+Tab,Alt+F4,Ctrl+Esc

Private Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long
Private 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
Private Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)

Private Type PKBDLLHOOKSTRUCT
    vkCode As Long
    scanCode As Long
    flags As Long
    time As Long
    dwExtraInfo As Long
End Type

Private Const HC_ACTION = 0
Private Const WM_KEYDOWN = &H100
Private Const WM_SYSKEYDOWN = &H104
Private Const WM_KEYUP = &H101
Private Const WM_SYSKEYUP = &H105
Private Const VK_TAB = &H9
Private Const VK_ESCAPE = &H1B
Private Const VK_CONTROL = &H11
Private Const WH_KEYBOARD_LL = 13
Private Const LLKHF_ALTDOWN = &H20

Private PrevHook As Long

Public Sub Hook()
    PrevHook = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf LowLevelKeyboardProc, App.hInstance, 0)
End Sub


Public Sub UnHook()
    UnhookWindowsHookEx PrevHook
End Sub

Public Function LowLevelKeyboardProc(ByVal ncode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    Dim fEatKeystroke As Boolean
    Dim p As PKBDLLHOOKSTRUCT
   
    If ncode = HC_ACTION Then
        Select Case wParam
            Case WM_KEYDOWN, WM_SYSKEYDOWN, WM_KEYUP, WM_SYSKEYUP
                CopyMemory p, ByVal lParam, Len(p)
                If (p.flags And LLKHF_ALTDOWN) <> 0 Then 'Alt + AnyKey
                    fEatKeystroke = True
                End If
                If (p.vkCode = VK_ESCAPE) And ((GetKeyState(VK_CONTROL) And &H8000) <> 0) Then 'Ctrl + Esc
                    fEatKeystroke = True
                End If
            Case Else
                'do nothing
        End Select
    End If
   
    If fEatKeystroke Then
        LowLevelKeyboardProc = 1
    Else
        CallNextHookEx WH_KEYBOARD_LL, ncode, wParam, lParam
    End If
End Function

在WIN2K中拦截Alt+Tab,Alt+F4,Ctrl+Esc的模块,希望大家喜欢!(忘了是从哪来的,向原作者至歉。)

***************************************************************************模 块 名:拦截Alt+Tab,Alt+F4,Ct...
  • biku
  • biku
  • 2004年06月26日 13:52
  • 1342

进程防杀与屏蔽WIN 、alt+tab、ctrl+esc等键的方法

//DLL文件//GHook.cpp#define _WIN32_WINNT 0x0400#include #include "HookAPI.h"#include typedef HANDLE (_...
  • cyrx2003
  • cyrx2003
  • 2007年08月23日 23:12
  • 1196

一些发自肺腑的话,希望能与大家共勉。

资助工作做了也有一段时间了,慢慢积累中也有了些许感悟,深夜突发奇想,想说些什么,希望能与大家共勉吧。 我们中很多人家境并不好,有的人含着金钥匙出生,稍差一点的,父母已经给准备好一套甚至几套房子。然而...
  • snda452258253
  • snda452258253
  • 2015年03月15日 13:48
  • 529

希望大家在说XXX年薪的时候,也说说过程,过程才是有用的东西。

//写在前面的话Google Blog Search: 日本 工作时看到的blog真是一篇好文章,所以加了好多的注释,自己的理解,也只有类似于文章作者这样的人才可以体味什么叫成功/什么叫掌控生活......
  • yesky12
  • yesky12
  • 2006年05月22日 15:23
  • 876

对话框程序中处理ALT+F4(ESC)按键

    一般的WINDOWS窗口程序,可以使用ALT+F4来进行关闭,如果用模态对话框作为主窗口的程序也可以有同样的功能(下面会介绍怎么处理)。 如果要在一般窗口程序中要屏蔽ALT+F4键,就要处理W...
  • zhyhang
  • zhyhang
  • 2007年01月01日 11:40
  • 1704

合并游戏

描述     大家都知道Yougth除了热爱编程之外,他还有一个爱好就是喜欢玩。     某天在河边玩耍的时候,他发现了一种神奇的石子,当把两个石子放在一起的时候,后一个石子会消失,而且会...
  • menxiaoyuan
  • menxiaoyuan
  • 2016年04月09日 09:41
  • 192

如何模拟ALT+TAB切换

最近遇到一个比较怪的需求,需要在程序里加一个按钮,用户点击这个按钮的时候,相当按下了一下ALT+TAB然后松开TAB,既切换到下一个任务……...
  • solosure
  • solosure
  • 2011年04月24日 10:32
  • 2854

希望大家喜欢http://www.kongbo.net/

qvod电影希望大家喜欢http://www.kongbo.net/一个新资源呢!
  • xjp231
  • xjp231
  • 2013年08月11日 10:09
  • 249

nyoj 合并游戏 832 (状压DP) 好题

合并游戏 时间限制:1000 ms  |           内存限制:65535 KB 难度:4 描述     大家都知道Yougth除了热爱编程之外,他还有一个爱好就是喜欢玩。     某天...
  • yanghui07216
  • yanghui07216
  • 2015年11月15日 17:30
  • 338

Win2k泄漏源代码赏析——GetProcAddress

Win2k泄漏源代码赏析——GetProcAddress
  • wjeson
  • wjeson
  • 2011年02月27日 18:59
  • 1147
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在WIN2K中拦截Alt+Tab,Alt+F4,Ctrl+Esc的模块,希望大家喜欢!(忘了是从哪来的,先原作者至歉。)
举报原因:
原因补充:

(最多只允许输入30个字)