如何在 Win32 C++ 程序在后台运行时检测按键

2024-03-10

我有一个程序,每当我最小化它时,它就会进入系统托盘。

我想知道的是: a) 当我的程序位于系统托盘中时,如何检测按键操作。 b)我怎么知道他们在键盘上按下了什么,特别是功能按钮。


您需要使用设置键盘挂钩设置WindowsHookEx() http://msdn.microsoft.com/en-us/library/ms644990(v=vs.85).aspx。看着那(这WH_KEYBOARD 和 WH_KEYBOARD_LL http://msdn.microsoft.com/en-us/library/ms644959(v=vs.85).aspx#wh_keyboardhook hooks.

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

如何在 Win32 C++ 程序在后台运行时检测按键 的相关文章

随机推荐

  • GUID 可以多短?

    我知道标准 GUID 它们可以变得更短吗 其背后的理论是什么 Greg Dean 的答案是正确的 但为了了解 GUID 是如何生成的以及为什么不应该缩短它 我强烈建议您阅读下面的文章 新旧事物 GUID 是全局唯一的 但 GUID 的子字符
  • 如何扩展从npm包导入的vue组件?

    如果您有通过 Node 安装的 vue 组件 node modules vendor somecomponent vue 有什么方法可以修改 扩展该组件的模板 方法吗 Update 尝试下面的示例后 我遇到了这个问题 我在用https gi
  • VB.NET:哪个 As 子句与带有 Option Strict On 的匿名类型一起使用?

    考虑始终声明的要求Option Strict On 我们总是需要用As关键词 匿名类型的类型是什么 例子 Dim product As New With Key Name paperclips Price 1 29 接下来会发生什么As 尝
  • 使用 .NET Framework 或 Windows API 检测 Windows 11

    在 NET Framework 中 获取可以使用的操作系统版本Environment OSVersion与Major and Minor告诉您 Windows 版本的值 即 6 1 Windows 7 10 0 Windows 10 尽管
  • 在不创建主题的情况下更改 emacs 中特定文本的颜色

    是否可以选择您正在编辑的一段文本并更改其颜色 我知道可以创建一个颜色主题来为某些类型的文本着色 例如某种编程语言中的着色函数 但是是否可以对特定 emacs 中的选定文本片段进行一次性颜色更改不创建主题的文档 提前致谢 在任何情况下 主题都
  • 无法访问对象原型上的方法

    我可以创建一个Cat对象并在其原型上设置一个方法来打印猫的名字 var log function message var results result results append p message p function Cat name
  • 从 OnActionExecuting 重定向到外部 url?

    我需要从 OnActionExecuting 方法重定向到外部网址 比方说 www google com 现在我正在使用这样的东西 public override void OnActionExecuting ActionExecuting
  • 如何使用变换原点让 svg 元素从中心旋转? [复制]

    这个问题在这里已经有答案了 我正在尝试对 svg 矩形元素进行非常简单的旋转 我希望这个元素相对于它的中心旋转 我试图使用transform origin属性来实现这一点 参见代码片段 尽管尝试使用 center 或 50 从中心旋转 但它
  • 使用 sql 查询在 hibernate 中创建新的对象实例

    我正在尝试使用查询在 hibernate 中创建一个对象 然后该对象将被保存回表示该类的表中 hbm xml 文件摘录
  • Django simple_tag 和设置上下文变量

    我正在尝试使用 simple tag 并设置上下文变量 我使用的是 django 的 trunk 版本 from django import template register simple tag takes context True d
  • strstr 不工作

    如果我输入 test 为什么这段特定的代码在 strstr 上返回 false char input 100 int main fgets input 100 stdin printf s input if strstr test mess
  • Perl 中有正则表达式来查找文件扩展名吗?

    Perl 中有正则表达式来查找文件扩展名吗 例如 如果我有 test exe 我怎样才能得到 exe my file test exe Match a dot followed by any number of non dots until
  • Ubuntu 上的 JAVA_HOME 定义不正确?

    我正在尝试在 Ubuntu 14 04 中安装一些软件 Shibboleth 我已经安装了 Java 7 OpenJDK usr lib jvm 我有这些行 usr environment JAVA HOME usr lib jvm jav
  • SQLite,将数据集/数据表复制到数据库文件

    我已经用创建的表填充了数据集another数据库文件 该表不在我希望能够将表复制到的数据库文件中 现在我想将所有这些记录 DataTable 保存到新创建的 SQLite 数据库文件中 我怎样才能做到这一点 另外 如果可能的话 我真的想避免
  • Microsoft.Extensions.Logging 对比自然对数

    我看到很多帖子提到将 Microsoft Extensions Logging 与 NLog 一起使用 我想更好地了解 Microsoft Extensions Logging 的用途是什么 具体来说为什么需要它或者与 NLog 一起使用它
  • Mongoose 具有 true 的独特布尔值

    我知道如何将字符串设置为在我的架构上唯一 如下所示 string type String unique true 但是有没有一种方法可以在对象上拥有具有 true 值的唯一布尔值并使用 false 默认设置 我需要的是 如果我尝试保存一个具
  • 以编程方式发送短信,无需短信编辑器窗口

    直到昨天 我还认为不使用 IOS 短信接口就不可能发送后台短信 这里很多人也保证 然而 今天我下载了一个名为 SmartSender 的新应用程序 它可以安排您的短信 然后自动发送 我测试了它 短信实际上并不是在后台发送的 而是出现一个本地
  • 尝试创建一个具有 6 个放射线的圆形菜单

    我正在尝试使用 html 和 css 创建一个带有 6 个径向线的圆形菜单 我只得到 6 个径向线 边界 中的 5 个 我需要获得第 5 项和第 6 项之间的最后一个径向 我需要得到相同的图片 DEMO http jsfiddle net
  • 我可以使 C++11 类/对象普遍线程安全吗?

    读过 据我了解 我可以确保我的类是线程安全的对于所有线程实现 通过使用 C 11 互斥体 我的理解正确吗 我期待的是要么是 可能有警告 要么不是 有原因 我的代码可能需要在目标平台上重新编译 但不需要更改我的源代码 彼得 换句话说 我应该能
  • 如何在 Win32 C++ 程序在后台运行时检测按键

    我有一个程序 每当我最小化它时 它就会进入系统托盘 我想知道的是 a 当我的程序位于系统托盘中时 如何检测按键操作 b 我怎么知道他们在键盘上按下了什么 特别是功能按钮 您需要使用设置键盘挂钩设置WindowsHookEx http msd