是否可以在原始输入中吞下一个密钥?

2023-11-22

我正在使用原始输入API因为我需要能够以不同的方式响应来自不同 USB HID 设备的按键,即使它是相同的按键。

我的窗口收到WM_INPUT消息正确。我可以检索RAWKEYBOARD结构获取我需要的所有信息。

现在我想阻止这些 USB 设备切换 NumLock。我希望原始输入 API 可以让我吞下 NumLock 按键?

我尝试将 WM_INPUT 消息的 Result 设置为 1,但这似乎没有效果。

(我用 C# 编写此内容,但由于这都是低级 Windows API,因此您可能不需要 C# 或 .NET 知识来回答此问题。)

编辑:哦,是的,我也尝试过使用全局键盘挂钩(SetWindowsHookEx)吞掉 NumLock 按键。不幸的是,一旦我初始化原始输入 API,当窗口处于活动状态时,就不再调用全局键盘挂钩。我也尝试过设置全局钩子after原始输入,但效果相同。


原始输入 API 不支持吞咽按键。

此外,它不与SetWindowsHookEx 在同一进程内。原始输入 API 初始化后,挂钩就会脱钩。

解决方案是将它们放入单独的进程。一个进程可以使用SetWindowsHookEx吞掉不需要的按键,而另一个则使用原始输入 API 来处理确实通过的按键。然后你只需运行两者即可。这对我来说效果很好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以在原始输入中吞下一个密钥? 的相关文章

  • 如何在没有io的情况下在windows上创建特定大小的文件?

    Windows 上是否有与 posix fallocate 等效的函数 具体来说 我正在寻找一种方法来立即 无需执行大量 IO 创建特定大小的文件 我不关心内容 我尝试过 chsize s 它确实分配了文件 但需要很长时间 如果我右键单击文
  • :: 右侧的非法标记

    我有以下模板声明 template
  • 如何获取当前所选键盘布局的显示名称

    我需要以语言栏显示输入语言的方式向用户显示输入语言列表 例如 目前我有 class Program static void Main string args var langs InputLanguage InstalledInputLan
  • Windows 8 SDK 中的 DirectX

    Summary 是否应该从针对 Windows 8 的应用程序中删除 directX 包含文件 Details 我是 Windows 开发新手 我正在尝试使用 Visual Studio 2012 如果可能 在 Windows 8 上编译
  • 链接到大地址感知 DLL

    假设我有一个使用 LARGEADDRESSAWARE 链接器标志集构建的 DLL 现在我有一个动态链接到该 DLL 的应用程序 这是否会使我的应用程序具有大型地址意识 如果不是 那么为任何 DLL 设置此标志是否有意义 讨论here htt
  • Swift 4.2 当键盘显示时使 tableView 的底部向上移动

    尽管我已经进行了搜索 但我对如何最好地解决这个问题感到困惑 我有一个 tableView 其中底部单元格是列表的输入 就像苹果提醒的工作方式一样 当列表中的项目太多时 键盘会覆盖列表 我看不到正在输入的内容 我认为我需要更改表视图的物理大小
  • 使用 StretchDIBits 使用 Delphi 6 处理条形码图像 - 输出中缺少条形线

    我的应用程序是在 Delphi 6 中开发的 由于后台处理和大量数据 它消耗大约 60MB 120MB 物理内存 这是一个资源密集型应用程序 该应用程序的功能之一是在进行某些处理后创建条形码图像 如果用户继续生成条形码 那么至少十分之一的条
  • 原生 Linux 应用程序可像 ResHacker 一样编辑 Win32 PE

    我想运行自动修改 dll服务 用户提交特定的 dll 我在服务器上修改它 然后用户可以下载 dll的修改版本 是否有任何本机 Linux 应用程序提供常见的 Win32 PE 修改功能 例如图标 字符串 加速器 对话等 至少提供命令行或脚本
  • 从安全角度来看,在 Windows 中使用管道是否被认为是危险的?

    从安全角度来看 在 Windows 中使用管道是否被认为是危险的 管道在 Windows 中并不是一个特殊的安全风险 如果您担心安全性 请确保将管道上的安全描述符设置为适当的 DACL 如果您的使用要求管道开放供任何人连接 那么您必须将传入
  • 绘制自定义 Windows 控件时出现问题

    我正在尝试使用 Windows 中的 uxTheme 库绘制自己的自定义控件 但我无法弄清楚为什么我的控件看起来不像常规 Windows 控件 据说 使用我正在使用的相同主题 上图显示了标准的 Windows ComboBox 顶部 和使用
  • 在 Swing 中使用印度语输入法输入文本时不显示英文字符

    我正在开发一个应用程序 它接受英语文本并使用自定义的第 3 方 API 将音译为印度语 受支持的几种语言之一 该应用程序针对 Windows XP 7 和 Ubuntu 我们使用自定义输入法来加载所需的印度语字体 并使用它渲染文本 此外 用
  • 我可以在 C# 进程中使用 SetErrorMode 吗?

    我正在准备写一个在线法官核心 一个可以编译用户代码并运行程序来检查答案的程序 如uva online Judge 我在捕获提交程序的异常时遇到问题 如下所示 int main while scanf d d n m printf d n n
  • ListView 多选行为?

    Comtl32 dll v6 0中的ListView进行多项选择 使用Shift键时 如下 x表示选择 00xxxx xxxxxx xxxx00 早期版本的 ListView 的做法如下 00xx00 00xx00 00xx00 有没有办法
  • 横向模式下的 OnApplyWindowInsetsListener 用于检测键盘可见性变化

    感谢这里的这个很好的答案 https stackoverflow com a 63595830 741795 https stackoverflow com a 63595830 741795我们现在可以跟踪 Android 中何时显示键盘
  • 在python中检测按下了哪些键

    我需要知道现在按下的是哪个键 我不想捕获一些特定的按键来触发事件或类似的事情 我想知道现在按下了哪些键并显示它们的列表 我还需要捕获特殊键 如 F1 F12 shift alt home windows 等 基本上是键盘上的所有键 我如何在
  • 如何取消同步 WinHttp 请求?

    我的服务有一个线程可能正在执行WinHttpSendRequest当有人试图停止我的服务时 The WinHttpCloseHandle 文档 http msdn microsoft com en us library windows de
  • 使用 cryptoapi CryptImportKey 导入公钥时出错

    我想将公钥 blob 导入到 CSP 但发生了错误 BYTE pbData 0xEB 0x2A 0x38 0x56 0x86 0x61 0x88 0x7F 0xA1 0x80 0xBD 0xDB 0x5C 0xAB 0xD5 0xF2 0x
  • 具有自定义镶边的 WPF 窗口在右侧和底部有不需要的轮廓

    我使用 Microsoft Windows Shell dll 创建了带有自定义镶边的 WPF 窗口 这是代码
  • Android 从键盘读取

    我的登录屏幕根本没有文本字段 当用户使用 RFID 扫描仪扫描他的 id 令牌时 我会得到一个 8 个字符长的字符串 其原理与使用键盘相同 只是更快 我希望我的登录活动在用户扫描其令牌时而不是之前执行 有一个聪明的方法来实现这个吗 我不能有
  • 调整大小时在窗口中绘图留下未绘制的边框

    我遇到的问题看似微不足道 但我找不到解决的方法 这里是 我有一个窗口 里面有一些图形 为了简单起见 我们假设它是一个实心绿色矩形 填充了窗口的整个客户区域 我希望每次窗口改变大小时都重新绘制这个矩形并填充整个窗口 我最初做的就是这样的 我已

随机推荐

  • 使用 Graph API,使用 http post 请求在 Azure Active Directory (B2C) 中创建新用户

    我之前一直使用 Active Directory 身份验证库 ADAL 以编程方式添加用户 但现在我需要定义 signInNames 用户电子邮件 而 ADAL 似乎无法实现这一点 如果我错了 请告诉我 现在我尝试使用 HTTP POST
  • Angular 2 组件构造函数与 OnInit [重复]

    这个问题在这里已经有答案了 如果我希望函数 x 在每次加载组件时发生 无论是第一次 我都会导航到不同的站点并导航回来 或者是第五次加载组件 我应该将函数 x 放入什么 组件构造函数还是OnInit 构造函数是 TypeScript 类的预定
  • Cache-Control:must-revalidate 是否有义务验证所有请求,还是仅验证过时的请求?

    我对这个标题一团糟 我已经读过Cache Control must revalidate在提供缓存项目之前必须验证源的所有请求 但只是过时的请求 或者全部 无论陈旧还是新鲜 我在不同的地方读过这两件事 与有什么区别Cache Control
  • Linux 上的 GCC 错误是什么?如何解决? gcc:内部编译器错误:非法指令(程序为)

    I type gcc hello c出现这样的情况 gcc internal compiler error Illegal instruction program as Please submit a full bug report wit
  • 如何对列表中的 data.frame 进行子集化并返回 data.frame?

    当对列表内的 data frame 进行子集化时 我得到向量而不是 data frames 请参见下面的示例 如何避免这种情况并获得 data frames l lt list data frame a c 1 2 3 data frame
  • 使用 :: 访问模块方法

    我读过的文档告诉我使用 Module method 来访问模块中的方法 但是 我也可以使用 Module method 这是语法糖 还是我很困惑 module Cat FURRY LEVEL 4 def self sound w meow
  • 没有 Maven 或 gradle 的 Spock

    我有一个使用 ant 进行构建的标准 Java 项目 我想在不中断当前流程的情况下向该项目添加 spock 测试 允许我开始将 spock 测试集成到该项目中的最小更改集是什么 关于使用 ant 将 spock 集成到遗留项目中的可用信息并
  • 不使用回调方法加载谷歌地图

    我的网站上有多个谷歌地图实例 现在同一页面上有两个不同的谷歌地图 发生的情况是第一个有效 其他无效 现在我知道逻辑问题让我先向您展示我的代码
  • MP4 / ISO 14496-12:如何找到视频和音频访问单元?

    我正在编写一个用于检查 MP4 文件 又名 ISO 基本媒体文件格式 ISO 14496 第 12 部分 的工具 我可以解释 ISO 14496 12 中列出的由 OSS 生成的大部分框 我还没有弄清楚如何提取单独的视频访问单元和音频访问单
  • C# 测试字符串是否为整数?

    我只是好奇 C 语言或 NET Framework 中是否内置了一些东西来测试某些东西是否是整数 if x is an int Do something 在我看来可能有 但我只是一年级编程学生 所以我不知道 Use the int TryP
  • 如何获取 Java 类引用的初始化值

    我有一个Class klass Object init klass boolean class false klass byte class byte 0 Object null 用例是我有一个任意的java lang reflect Me
  • 将 List 转换为 List (或任何扩展 Number 的类)

    我想创建一个非常通用的实用方法来获取任何集合并将其转换为从数字 长整型 双精度 浮点型 整数等 扩展的用户可选类的集合 我想出了这段代码 它使用 Google Collections 来转换 Collection 并返回一个不可变列表 im
  • Python 中的 OpenCV PCA 计算

    我正在通过 OpenCV 在 Python 中 加载一组大小为 128x128 的测试图像 将它们重新整形为向量 1 128x128 并将它们全部放在一个矩阵中以计算 PCA 我正在使用新的 cv2 库 代码 import os impor
  • 如何使用 OpenSSL 生成自签名 SSL 证书? [关闭]

    Closed 这个问题是与编程或软件开发无关 目前不接受答案 我正在向嵌入式 Linux 设备添加 HTTPS 支持 我尝试通过以下步骤生成自签名证书 openssl req new gt cert csr openssl rsa in p
  • 用于突出显示多个单词的 Microsoft Word 宏

    我的目的是创建一个非常基本的宏来查找一系列单词并突出显示它们 不幸的是 我不知道如何一步完成多个单词 例如 以下代码有效 Sub Macro1 Macro1 Macro Selection Find ClearFormatting Sele
  • 如何正确刷新 UINavigationBar?

    关于这个问题 如何从子视图控制器中更改后退按钮文本 我正在寻找一种在更改后退按钮标题后刷新导航栏的正确方法previousViewController navigationItem backBarButtonItem title New T
  • Google OpenId:找不到 OpenID 端点(间歇性)

    通常使用 Google OpenId 工作正常 每天数千次 然后它会开始间歇性出错并超时一个小时左右 某些请求会验证 但不是全部 反复验证最终会起作用 错误消息是 Event code 200000 Event message No Ope
  • NodeJS中获取Mongo数据库中插入文档的_id

    我使用 NodeJS 在 MongoDB 中插入文档 使用collection insert我可以将文档插入数据库 如下代码所示 collection insert objectToInsert function err if err re
  • 查找 R 列中的最小非零值

    我在R中遇到这种情况 my minimum lt min my data frame my column number 这将返回最小值 我想要的是最小的非零值 我见过很多更复杂的情况 人们想要一个非零最小值的向量 但我只想要一个数字 即存在
  • 是否可以在原始输入中吞下一个密钥?

    我正在使用原始输入API因为我需要能够以不同的方式响应来自不同 USB HID 设备的按键 即使它是相同的按键 我的窗口收到WM INPUT消息正确 我可以检索RAWKEYBOARD结构获取我需要的所有信息 现在我想阻止这些 USB 设备切