通过Hook技术屏蔽系统键

VC6.0下实现屏蔽键盘按键 最近在搞键盘消息的东西,看了一篇文章,觉得不错,拿来跟大家一块分享下   1 问题的引入 随着计算机的广泛应用,计算机软件得到了长远发展。在软件开发过程中,希望产品独占系统资源,或者希望规范用 户行为,例如不希望用户通过Alt + Tab 组合键切换到其他应用程序或者 阅读详情

add a checkbox named chkDisable.caption="&Disable ALT-TAB, ALT-ESC, CTRL-ESC,LWin,RWin,Win+Any"
to a new from named frmMain.frm in new project hook_kb_LL.vbp
add code below:


Option Explicit

Dim hhkLowLevelKybd As Long

Private Sub chkDisable_Click()
If chkDisable = vbChecked Then
    hhkLowLevelKybd = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf  LowLevelKeyboardProc, App.hInstance, 0)
Else
    UnhookWindowsHookEx hhkLowLevelKybd
    hhkLowLevelKybd = 0
End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
If hhkLowLevelKybd <> 0 Then UnhookWindowsHookEx hhkLowLevelKybd
End Sub


in new module named modDisableLowLevelKeys.bas
code below:



Option Explicit

Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Public Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
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 CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal nCode As Long, ByVal wParam As Long, lParam As Any) As Long
Public Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
Public Const HC_ACTION = 0
Public Const WM_KEYDOWN = &H100
Public Const WM_KEYUP = &H101
Public Const WM_SYSKEYDOWN = &H104
Public Const WM_SYSKEYUP = &H105
Public Const VK_TAB = &H9
Public Const VK_CONTROL = &H11
Public Const VK_ESCAPE = &H1B

Public Const WH_KEYBOARD_LL = 13
Public Const LLKHF_ALTDOWN = &H20

Public Type KBDLLHOOKSTRUCT
    vkCode As Long
    scanCode As Long
    flags As Long
    time As Long
    dwExtraInfo As Long
End Type

Dim p As KBDLLHOOKSTRUCT

Public Function LowLevelKeyboardProc(ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
   Dim
fEatKeystroke As Boolean
  
   If (nCode = HC_ACTION) Then
      If wParam = WM_KEYDOWN Or wParam = WM_SYSKEYDOWN Or wParam = WM_KEYUP Or wParam = WM_SYSKEYUP Then
         CopyMemory p, ByVal lParam, Len(p)
         fEatKeystroke = _
            ((p.vkCode = VK_TAB) And ((p.flags And LLKHF_ALTDOWN) <> 0)) Or _
            ((p.vkCode = VK_ESCAPE) And ((p.flags And LLKHF_ALTDOWN) <> 0)) Or _
            ((p.vkCode = VK_ESCAPE) And ((GetKeyState(VK_CONTROL) And &H8000) <> 0)) Or _
            ((p.vkCode = 91) Or (p.vkCode = 92) Or (p.vkCode = 93)) '左右Win 和徽标键
            End If
    End If
   
    If
fEatKeystroke Then
        LowLevelKeyboardProc = -1
    Else
        LowLevelKeyboardProc = CallNextHookEx(0, nCode, wParam, ByVal lParam)
    End If
End Function

微信机器人实战:基于Hook技术的消息拦截与智能屏蔽系统 本文详细解析了基于Hook技术的微信机器人实现原理,重点介绍了其核心功能:通过Hook拦截微信消息并转换为结构化数据,实现"拦截-判断-处理-响应"的闭环流程。文章深入阐述了机器人屏蔽系统的实现机制,包括命令触发、事件驱动设计、分布式缓存存储和消息拦截检查等关键环节。此外,还展示了该技术在群聊管理等场景的扩展应用。这种技术方案能有效降低系统资源消耗,提升企业级微信自动化应用的效率和精准度。 阅读详情

相关推荐

易语言实现Win键屏蔽的钩子技术

易语言是一种简单易学的编程语言,它以中文关键词为主,降低了编程学习的语言障碍,使得中文用户能够更快地掌握编程技能。由于其独特的语言设计,易语言受到广大编程爱好者的欢迎,尤其适合初学者入门和快速开发小型应用程序。钩子(Hook)技术,是操作系统提供的一种允许应用程序截获系统或进程中的事件消息、监视某种行为或数据流的机制。在Windows操作系统中,钩子技术是通过系统钩子函数实现的,这些函数能够“钩住”系统消息循环中的事件,并在事件到达目标窗口过程之前进行预处理或拦截。

weixin_31860973的博客 1075

http://post.baidu.com/f?kz=261991447

1 VB 武林加血 代码为什么不能执行? 检测通过   VB

jcc3120的专栏 3647

C# WinForm中屏蔽特殊功能键的技术实现

本文还有配套的精品资源,点击获取 简介:在Windows系统中,Win键、Ctrl+Alt+Del和Alt+F4等组合键具有特定的功能,如打开“开始”菜单、启动任务管理器和关闭窗口。在开发C# WinForm应用程序时,出于安全或特定需求可能需要屏蔽这些键。本文将介绍如何在C#中实现对这些特殊功能键的屏蔽和释放。其中,Win键可以通过设置键盘钩子实现屏蔽,而Alt+F4可以...

weixin_35752122的博客 2398

首发:变态VB之HookAPI(陈辉作品)

(声明:魏滔序原创,转贴请注明出处。)        标题的名字本身就变态,因为VB做HookAPI的确让人难以理解,没两把刷子的人也不敢轻易尝试。但陈辉兄弟写出了目前最简单的Hook代码,初步测试效果还不错。       早期研究过憨豆豆(超级绿豆)的版本,也是一部惊世之作。现在,VB的Fans们又多了一项选择。        这个HookAPI,在注入的目标为VB编译的EXE或Explorer

迈克揉索芙特 6458

vb 钩子函数用法实例适用于新手

通过代码实例讲解钩子函数的用法,setwindowshook等

c++ hook实现屏蔽键盘win,fn,右键按键

vs2013 c++ hook实现屏蔽键盘win,fn,右键按键

Remove excel vb password

Remove excel vb passwordNew a excel and open Visual Basic edit window, then insert a module. Put below code in module.Option Explicit #If Win64 Then Private Declare PtrSafe Sub MoveMemory Lib "kernel3...

xuyss的专栏 612

1.Fay-UE5数字人工程导入(UE数字人系统教程)

ue5数字人系列教程(含源文件工程)

1万+

通过API HOOK 创建SYSTEM用户进程

  clsHookInfo.clsVERSION 1.0 CLASSBEGIN  MultiUse = -1  True  Persistable = 0  NotPersistable  DataBindingBehavior = 0  vbNone  DataSourceBehavior  = 0  vbNone  MTSTransactionMode  = 0  NotAn

chenhui530的专栏 5765

利用Python爬虫获取淘宝商品评论:实战案例分析

在数字化时代,数据的价值日益凸显,尤其是对于电商平台而言,商品评论作为用户反馈的重要载体,蕴含着丰富的信息。本文将详细介绍如何利用Python爬虫技术获取淘宝商品评论,包括代码示例和关键步骤解析。

2401_87849335的博客 2833

WRF中使用ERA5再分析数据

   本人在做一些实例时,需要用到最新的ERA5再分析数据集,其中我下载的是ERA5 hourly data on pressure levels form 1979 to present和ERA5 hourly data on single levels from 1979 to present中的3天数据。 1、注册climate copernicus账号 下载ERA5数据前先要注册其账号 2、选择变量    WRF中对于气象数据的字段有具体的要求, ......

GIS 8168

在Office 2013(64bit)下破解VBA工程密码

今天客户要求分析一个VBA为何不能执行,但是VBA工程加了密码,为了看到整个工程,不得已将许久以前用过的破解代码拿了出来,发现在Office2013(64bit)下不能用。分析原因,主要是有两个,一个是在使用API的生命语句的Declare后面要加PtrSate。另外一个是很多Long型变量要替换成LongLong变量。修改后的代码如下。Option ExplicitPrivate Declare...

nalnait的专栏 5892

别再怕DRIVER_VERIFIER_DMA_VIOLATION蓝屏:手把手教你用WinDbg分析IOMMU与驱动冲突

本文深入解析DRIVER_VERIFIER_DMA_VIOLATION蓝屏错误,从IOMMU原理到实战排错,手把手教你使用WinDbg分析驱动冲突。通过理解DMA与IOMMU的核心机制、搭建分析环境、解读DMAR表与设备拓扑,最终定位问题驱动并提供解决方案,帮助开发者和IT运维人员有效应对此类系统崩溃问题。

weixin_30298497的博客 802

低级键盘钩子屏蔽Win键、Alt+Tab键的响应

 如果你是基于Windows操作系统做系统集成的,你可能希望你的最终产品独占系统资源。你希望规范用户行为,比如你不希望用户通过按Ctrl+Alt+Del终止某个进程,或者按下Win键弹出开始菜单, 或者按下Alt+Tab组合键切换到别的应用程序。笔者已有相关一篇文章《Win2K/NT下屏蔽Ctrl+Alt+Del的响应》,介绍了如何通过GINA编程接口屏蔽Ctrl+Alt+Del的响应。作为续篇...

weixin_34205076的博客 1027

基于LED可见光通信的物联网系统设计_344

随着物联网技术的不断发展,传统无线通信在工业环境中面临电磁干扰强、通信质量不稳定等问题。为此,本文设计了一种基于LED可见光通信的物联网系统,实现工厂车间内设备状态的稳定、高效、低干扰数据传输。系统主要由设备节点、设备主机、华为云物联网服务器以及可视化上位机构成。 设备节点采集机器的出货量、运行状态、机身温度等关键信息,通过调制后的LED可见光信号发送至设备主机。主机利用红外接收器接收光信号后进行解调处理,并通过WIFI模块将数据上传至华为云IOT服务器。

343

SAP 权限配置(复合角色)

复合角色创建步骤:业务场景:通常单一角色权限颗粒度划分比较细,当需要分配单一角色权限A、B(多个单一角色)给某账号用户Y时,可以先建立一个复合角色C,将A、B绑定到复合角色C中,再将角色C分配给账号Y即完成权限配置。 业务模拟: 1、PFCG创建复合角色: 2、在角色页面添加子角色 在角色分页内添加子角色,点击“菜单”分页中的“读菜单”即可导入子角色中的菜单: 3、将用户分配给...

willieyuan的博客 7086

抛砖引玉 - hook的小例子

前阵子家里的笔记本出了点问题,就是键盘上的ESC键被卡住了,一直处理按下的状态,导致一系列问题(比如QQ窗口一开就提示是否关闭窗口等等)。N多不爽之后,决定写个程序暂时屏蔽掉ESC键。前阵子盗梦空间这么火,程序就叫KeyboardInception吧。哈哈。简单地说,就是让程序捕

ABlog 780

【Tiny_CD】Tiny_CD变化检测网络详解(含python代码)

tiny-cd网络详解,含论文下载、代码下载地址。

向上生长的程序媛的博客 2161

C++的全局键盘HOOK屏蔽Win键

/**************************************************** Project:DisabeldWinKeys** File:Main.cpp** Edition:v1.0.0 Demo** Coder:KingsamChen [MDSA Group]** Last Modify:2008-7-27****************************

immcss的专栏 6600

Python爬虫:如何抓取亚马逊商品评论和评分

通过本文的学习,您已经掌握了如何使用Selenium爬取亚马逊商品的评论数据,并处理反爬虫机制。特别是在亚马逊这样的大型电商平台,商品评论和评分不仅能够反映产品的质量和顾客的体验,还可以对商家进行竞争分析。通过爬取亚马逊的商品评论,您可以获得有价值的市场信息,如产品的优缺点、消费者的反馈等。通过查看源代码,您可以发现,亚马逊的商品评论和评分数据往往通过JavaScript动态加载,这也意味着在抓取时需要使用Selenium或Playwright等工具来模拟浏览器加载。亚马逊的评论页面支持分页加载。

2201_76125261的博客 1437

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

c语言hook键盘fn键,钩子编程(HOOK) 屏蔽所有按键鼠标及系统功能键

作者 : 卿笃军上篇文章已经详细的讲解了全局钩子的安装,下面我们增强一下钩子的功能,实现屏蔽所有按键鼠标与系统功能键。要实现这个功能,我们需要安装两个全局钩子,"鼠标钩子" 与 "低级键盘钩子"。鼠标钩子:实现屏蔽所有鼠标点击操作。低级键盘钩子:实现屏蔽所有键盘操作,包括屏蔽功能键(Alt+F4,Win,Alt+Tab, Alt+Esc,Ctrl+Esc....)注意:不包括Ctrl+Alt+De...

weixin_42515392的博客 1824

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Hook 实现 Windows 系统热键屏蔽(二)

接下来,将进一步分析 Ndr(64)AsyncServerCall(All) 函数的相关原理,从的角度对本地远程过程调用进行拦截。讨论 winlogon.exe 进程响应的一部分过程时所采用的 Ncalrpc 通信机制,通过( Hooking )注入代码来修改该线路上的( Key Points),包括。

溡漪幽博客 2043

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

上一篇: 透过DirectX家史看Direct X9
下一篇: 体验下一代微软平台开发Visual Studio 2005
xmlscript
博客等级 码龄25年 1粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值