最管用的能屏蔽WIndows10/11系统功能按键的工具--powerToys键盘管理器

news2024/9/22 1:46:50

最近在开发中碰到需要屏蔽系统按键功能的需求,原本以为是程序里屏蔽按键,结果,原来是需要屏蔽操作系统默认按键功能。

这样的话,就只能往注册表,脚本,全局钩子函数,以及一些第三方的什么工具之类的方面想想了了。

第一种方式:注册表肯定是98%的按键都能够屏蔽的。但是,我没有试验成功。譬如屏蔽WIndows徽标键,往注册表里添加一个键值。具体大家可以搜一下,不多说了。记得重启系统,注册表才会生效。这块我没成功。

第二种方式就是全局钩子函数:

#include <windows.h>
#include <iostream>

// 全局钩子回调函数
LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
    if (nCode < 0)
    {
        return CallNextHookEx(nullptr, nCode, wParam, lParam);
    }

    PKBDLLHOOKSTRUCT p = (PKBDLLHOOKSTRUCT)lParam;

    // 检查是否为 APP 键
    if (wParam == WM_KEYDOWN || wParam == WM_SYSKEYDOWN)
    {
        if (p->vkCode == VK_APPS)
        {
            // 阻止 APP 键事件
            return 1;
        }
    }

    // 传递给下一个钩子
    return CallNextHookEx(nullptr, nCode, wParam, lParam);
}

// 初始化全局钩子
bool InitializeHook(HWND hWnd)
{
    HHOOK hHook = SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc, nullptr, 0);
    return hHook != nullptr;
}

// 卸载全局钩子
void UninitializeHook(HHOOK& hHook)
{
    UnhookWindowsHookEx(hHook);
    hHook = nullptr;
}

int main()
{
    // 安装全局钩子
    HHOOK hHook = InitializeHook(nullptr);

    if (hHook)
    {
        // 运行消息循环
        MSG msg = {0};
        while (GetMessage(&msg, NULL, 0, 0))
        {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }

        // 卸载全局钩子
        UninitializeHook(hHook);
    }

    return 0;
}

这里要提一下的是:我们写的回调函数是可以放在类里面的,只需要将它作为静态函数即可。

好了,第三种,就是我主要想说的,powerToys,里面的键盘管理器。powerToys可以在网上下载,它里面的工具集成了很多我们日常使用的小工具。所以这可是个好东西。

使用键盘管理器,设置按键映射,将你想哟屏蔽的按键映射为别的没用的按键,就可以达到屏蔽该系统功能的程度了。顺带说一下,这个powerToys集成的小工具都是一些小程序,所以你也可以单独使用里面的程序。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2092382.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

工业智能物联网关,智慧医疗生态圈的创新驱动

项目背景 智慧化数字医疗正在推动医疗健康领域的转型&#xff0c;预计到2024年&#xff0c;全球数字医疗市场规模将达到3656.7亿美元&#xff0c;中国市场规模将增至4130亿元人民币&#xff0c;随着技术的持续创新和市场需求的不断增长&#xff0c;这一领域的需求和潜力将持续扩…

24最新Stable Diffusion入门指南(看完必会)超全面

前言 今天写这个帖子是带大家了解一款强大的 AI 绘画工具——Stable Diffusion&#xff0c;可以帮你解决很多应用层面的[AI控图]问题。 关于 Stable Diffusion 的内容很多&#xff0c;在本篇教程里&#xff0c;我会先为你介绍 Stable Diffusion 模型的运行原理、发展历程和相…

探索离线AI知识库的技术突破:AntSKPro AI 离线知识库一体机

在当今数字化时代&#xff0c;离线AI解决方案变得越来越重要&#xff0c;特别是在网络连接不稳定或不可用的情况下。最近&#xff0c;我有幸接触到一款名为AntSKPro AI 离线知识库一体机的设备&#xff0c;它展示了在离线环境下如何实现强大的AI支持。下面我将分享一些关于这款…

Ajax_00000

contents Ajax介绍 AJAX(Asynchronous JavaScript And XML)。 XML简介 XML&#xff1a;可扩展标记语言。 XML被设计用来传输和存储数据。 XML和HTML类似&#xff0c;不同的是HTML中都是预定义标签&#xff0c;而XML中没有预定义标签&#xff0c;全都是自定义标签&#xff0…

在损坏的驱动器上安全使用数据恢复软件的最佳方法

大量的存储使用和突然的物理损坏可能会使我们最可靠的硬盘驱动器变成最顽固的电子废料。作为一个因丢失数据而经历过几次恐慌发作的人&#xff0c;我发现使用像奇客数据恢复这样的数据恢复软件可以创造奇迹。该软件一直被证明是有用和有效的&#xff0c;即使在处理严重损坏的驱…

性能工具之 JMeter ajax 简单登录案例实战

文章目录 一、前言二、前置工作三、登陆密码分析四、JMeter脚本开发四、登陆性能分析五、小结 一、前言 想起论语中的 “学而时习之不亦说乎” &#xff0c;也想找个开源项目实战一把&#xff0c;下面用一个开源ERP系统中的登陆做今天的实战。 二、前置工作 开源ERP项目地址…

librttopo-1.1.0源码编译全过程(Visual Studio2017)

一、源码下载 可以自行搜索下载&#xff0c;可以根据本文提供的链接进行便捷下载&#xff1a;点击下载1&#xff0c;点击下载2 二、Windows下编译 下载完源代码后&#xff0c;进行源码解压&#xff0c;进入源码解压目录后&#xff0c;可以看到源码组织结构如下所示&#xff0c;…

柯桥外语培训|提建议该用would you还是you should?这些经典句型要记清!

不同场合&#xff0c;不同的人&#xff0c;提出建议的方式都不一样&#xff01;如何正确提建议呢&#xff1f;来看看下面的经典句型&#xff0c;保证万无一失~ Use the question 使用问题给建议 01 May I suggest 我可以建议……吗&#xff1f; A: I am so frustrated with th…

常见硬件工程师面试题(五)

大家好&#xff0c;我是山羊君Goat。 对于硬件工程师&#xff0c;学习的东西主要和电路硬件相关&#xff0c;所以在硬件工程师的面试中&#xff0c;对于经验是十分看重的&#xff0c;像PCB设计&#xff0c;电路设计原理&#xff0c;模拟电路&#xff0c;数字电路等等相关的知识…

上海大面积断网?原因已查明

8月26日晚&#xff0c;上海电信向记者透露&#xff0c;2024年8月26日17:30许&#xff0c;上海电信城域网设备故障&#xff0c;导致上海电信部分宽带业务发生异常&#xff0c;影响全市范围部分云宽带用户业务&#xff0c;上海电信其他业务均不受影响。 经过上海电信全力抢修&…

Java面试自我介绍

持续更新中 模块序号目录链接前言介绍1前言地址2介绍地址基础知识3计算机网络地址4操作系统地址5Java基础地址6Java并发地址7Java虚拟机地址中间件8Mysql地址9Redis地址10Elasticsearch地址11RabbitMQ地址12RocketMQ地址框架13分布式系统地址14MyBatis地址15Dubbo地址16Spring地…

2025舜宇集团校招二维码

舜宇光学集团校招 【2025内推码】 DSwNQ9yu DSJXN8Mr 舜宇光学科技2025校招内推&#xff01;冲冲冲&#xff01; 光学龙头-舜宇集团2025届全球校园招聘正式启动&#xff01;&#xff01;&#xff01; 提供住宿&#xff08;硕士单人间&#xff0c;独立卫浴&#xff01;&#x…

【算法每日一练及解题思路】判断字符串是否包含数字

【每日一练及解题思路】四种方式判断字符串是否含数字 一、题目&#xff1a;给定一个字符串&#xff0c;找出其中不含重复字符的最长子串的长度 二、举例&#xff1a; 比如"abcdefgh",不含数字&#xff1b;比如"1",含数字&#xff1b;比如"a1s&quo…

Sanic快速入门(详细,全面,通俗易懂)

什么是sanic 官网介绍&#xff1a;Sanic是一个Python 3.8的web服务器和web框架&#xff0c;旨在快速运行。它允许使用Python 3.5中添加的async/await语法&#xff0c;这使得您的代码无阻塞且快速 Sanic最早由ChannelCat团队开发&#xff0c;旨在提供一个高性能的异步Web框架。…

平衡膳食与健康 第二篇

健康,不止于不生病. 不良的生活方式 瞎折腾 影响身体健康 实际上健康还包括在其他方面 精神方面 社会接触能力大夫问题复盘 慢性疾病&#xff0c;都是生活方式病 慢性病与生活方式密切相关 还有心理问题**:焦虑症,抑郁症** 健康医学和疾病医学差距 压健康状态比例 肚…

【电子通识】可靠性机理之电偶腐蚀

什么是电偶腐蚀 电偶腐蚀也叫以异金属腐蚀或接触腐蚀&#xff0c;是指两种不同电化学性质的材料在与周围环境介质构成回路时&#xff0c;电位较正的金属腐蚀速率减缓&#xff0c;而电位较负的金属腐蚀加速的现象。构成这种现象的原因是这两种材料间存在着电位差&#xff0c;形成…

【网络基础】探讨以太网:封装解包、MTU、MAC地址与碰撞

文章目录 1. 概念2. 帧格式3. 如何解包和封装4. 整体网络思想 谈 跨网络通信5. 碰撞问题① 汇总整体的网络通信过程&#xff0c;发现问题并补充细节 6. 认识MAC地址7. 对比理解MAC地址与IP地址8. 认识MTU① MTU对UDP协议的影响② MTU对TCP协议的影响③ MSS 与 MTU的关系④ 命令…

C语言:成绩判定

1.题目&#xff1a;键盘输入一个成绩&#xff08;0-100之间&#xff09;&#xff0c;能输出对应等级&#xff0c;90-100是A&#xff0c;80-89是B&#xff0c;70-79是C&#xff0c;60-69是D&#xff0c;60分以下均为E。 2.算法思想&#xff1a;将100的分值分别分成5个档位&…

十万流量耀前路,成长感悟谱新章

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

计算机毕业设计选题推荐-传统文化网站-Java/Python项目实战

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…