- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在我的程序中连接键盘,但有些事情我无法完成。下面的方法是我处理某些组合键的类(class)中最重要的部分。所有这些都有效,但我还想 Hook Ctrl-Alt-Tab。我花了几个小时试图弄清楚该怎么做,但我空手而归。我怎样才能同时 Hook 这个组合?
更多信息可以在这里找到:
http://msdn.microsoft.com/en-us/library/ms644967(VS.85).aspx
http://msdn.microsoft.com/en-us/library/ms927178.aspx
private static IntPtr KeyboardHookHandler(int nCode, IntPtr wParam, KBDLLHookStruct lParam)
{
if (nCode == 0)
{
if ( ( (lParam.flags == 32) && (lParam.vkCode == 0x09) ) || // Alt+Tab
( (lParam.flags == 32) && (lParam.vkCode == 0x1B) ) || // Alt+Esc
( (lParam.flags == 0 ) && (lParam.vkCode == 0x1B) ) || // Ctrl+Esc
( (lParam.flags == 1 ) && (lParam.vkCode == 0x5B) ) || // Left Windows Key
( (lParam.flags == 1 ) && (lParam.vkCode == 0x5C) ) || // Right Windows Key
( (lParam.flags == 32) && (lParam.vkCode == 0x73) ) || // Alt+F4
( (lParam.flags == 32) && (lParam.vkCode == 0x20) )) // Alt+Space
{
return new IntPtr(1);
}
}
return CallNextHookEx(hookPtr, nCode, wParam, lParam);
}
最佳答案
Worlds,您正确地捕获了键,但您需要对 lParam.flags 执行按位与操作以确定是否按下了多个修改键。
这超出了我的脑海,但我认为代码如下所示:
(lParam.flags == 32)
应该看起来像:
((lParam.flags & 32 == 32) && (lParam.flags & 16 == 16))
32 和 16 在这个例子中是任意的。您需要弄清楚 ALT 和 CTRL 的实际值是什么。它们将是 1、2、4 ... 16、32 等,以便它们可以通过“或”运算组合成一个值。
关于c# - 如何 Hook Ctrl-Alt-Tab?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2033500/
添加 null alt=""有什么好处?是为了通过验证还是有更多的理由 以及它应该怎么写? 像这样,没有空间 alt="" 或者这个有一个空格 alt=" " 最佳答案 其他答案已经指出了标准中的要求
抱歉,我忘了说我正在使用 Jeff Atwood 的 wasd 104 键代码键盘,并且“Mac 模式设置为开\我正在从 Windows 远程桌面连接到我的 Mac 计算机: 我正在尝试使用自动热键禁
我正在为所有图像添加 alt 属性以提高 SEO/屏幕阅读器性能。 根据最佳实践,纯美学图像应该有一个空的 alt 属性 alt="",以便屏幕阅读器跳过它们。我在 WordPress 中注意到它确实
基本上, 它的灵感来自 Vim 我想使用一个键(例如 Alt、F1)组合(+I J K L)来映射到箭头键 Autohotkey 中已经完成的工作 Ralt & j::send{Left} Ralt
我正在尝试文档页面中解释的示例代码 http://developers.itextpdf.com/content/itext-7-examples/converting-html-pdf/pdfhtm
我正在使用 goatslacker/alt 开发一个 flux 前端程序.我在触发商店更新操作时遇到问题。监听器未按预期运行。 我现在正在处理的代码非常复杂。我将尝试将我的问题简化为以下代码。我希望它
The MSDN page on DXGI提供有关如何处理不同于桌面分辨率的全屏分辨率的说明。它说在调用 IDXGISwapChain::SetFullscreenState() 之前先调用 IDXG
在 javascript Event 对象中,有一些 bool 值来检查修饰键是否被按下: ctrlKey:CTRL 键。 altKey:ALT 键。 altLeft:ALT 左键。仅适用于 IE。
我在cygwin/Xming下使用xterm。 Alt+B(向后跳一个字)和Alt-F(向前跳一个字)不起作用,而是显示一些变音字符或其他东西。 我在我的主目录中创建了一个文件 .Xresources
通过 Azure Bastion 连接时,我无法让 Windows Server 2019 数据中心识别 Alt Gr 键。该键被误认为是 Alt 键。我的本地操作系统是Windows 10,我的浏览
Windows 中的某些键盘布局(例如 US-QWERTY)将右 Alt 视为常规 Alt 键,而其他(例如 US International)将其视为 AltGr,并在按下时同时生成 Ctrl 和
通过 Azure Bastion 连接时,我无法让 Windows Server 2019 数据中心识别 Alt Gr 键。该键被误认为是 Alt 键。我的本地操作系统是Windows 10,我的浏览
我想使用 2 个快捷键显示 console.log():Alt+a 和 Alt+r 但事实并非如此工作,它没有向我显示任何消息。这就是代码 $(document).bind('keydown
我正在使用以下代码检测 alt。它有效,但是当我执行 alt-tab 切换到另一个程序时,我得到 keydown 18 (alt) 并且没有 keyup,并且 alt 保持按下状态。我该如何解决这个问
我想在 shell 终端中使用 ALT + d 来杀死一个单词。 问题是,如果我使用国家字符,即西里尔字母,在按下 ALT + CyrChar 后,我会在我调整的 xterm 上得到一个 CyrCha
$('input').keyup(function(){ $('div').html($(this).val()); }); http://jsfiddle.net/NMqhW/
我正在使用 DirectX 11 用 C++ 编写一个程序,我希望它能够在用户按下 Ctrl-Alt-Del 或 Alt-Tab 时最小化我的程序。 让窗口本身最小化是比较容易的部分,因为我所要做的就
我最近开始使用 alt.js 重写 Flux & React 应用程序,这使我可以在从服务器渲染时轻松地使用数据引导应用程序。 除了在客户端分派(dispatch)操作时我无法触发我的存储方法之外,其
Windows 下的 Eclipse 有一个非常烦人的问题。当我按下 Right Alt+ key。这让我查看了键绑定(bind)列表并删除了 Ctrl+Alt+key 的所有绑定(bind),我认为
我无法弄清楚两者之间的区别: alts! 和 alt! 在 Clojure 的 core.async . 最佳答案 alts!是 功能 它接受要从中获取的 channel 向量和/或带有要放置在其上的
我是一名优秀的程序员,十分优秀!