草庐IT

windows - 在 Windows 上读取 hid 鼠标/键盘 (hidapi)

我在Linux上有一个应用程序,它使用hidapi读取复杂设备的数据(由Qt5.3创建)。该设备有多个接口(interface)HID,一种是“鼠标”,一种是“键盘”。在Linux上,我可以毫无问题地获取所有数据。我还需要在Windows上部署我的应用程序。我可以显示所有几个设备和接口(interface),但我无法打开接口(interface)类型为“鼠标”或“键盘”的连接。(hid_open_path返回null)。我看到Windows不允许打开与鼠标和键盘的连接(因为此设备已被Windows使用)。我怎样才能绕过这个禁令?我怎样才能阻止Windows使用特定的键盘或鼠标打开句柄?

c++ - 如何以编程方式切换 CAPSLOCK 或防止它被键盘切换?

我有一个用C++编写并在Windows上运行的程序。我允许用户绑定(bind)CAPSLOCK键,所以如果他们每次按下它时,他们不会同时切换他们的CAPSLOCK状态,那就太好了。我发现没有办法“捕获”CAPSLOCK消息以防止它被Windows注册。似乎在我收到WM_KEYDOWN消息时,键盘上的指示灯已经切换。我确实找到了这个suggestedcode:keybd_event(VK_CAPITAL,0x3a,KEYEVENTF_EXTENDEDKEY,0);keybd_event(VK_CAPITAL,0x3a,KEYEVENTF_EXTENDEDKEY|KEYEVENTF_KEY

c# - 在 C3 中检测全局键盘钩子(Hook)

用多种语言编写键盘记录器非常容易。这让我有点紧张,因为这些未知的小病毒不会被大多数(阅读:所有)防病毒软件检测到。我很好奇如何检测是否有进程获取了这些键。我想知道在任何给定点哪个进程正在读取我的输入。一种键盘记录器记录器。 最佳答案 这些问题有几个可用的答案ListofinstalledwindowshooksDetectingKeyboardHookswhatarethemethodstofindhookedfunctionsandapis 关于c#-在C3中检测全局键盘钩子(Hook

c++ - 如何伪造键盘换档键。 Qt,Windows 10

我为基于触摸的平板电脑开发了一些软件。该装置没有键盘,只有触摸屏(触摸屏模拟鼠标)。操作系统是Windows10,我们使用Qt作为图形用户界面框架。我们依赖于一个类库点云库,它有一个组件需要按下SHIFT键才能在我们单击鼠标左键时发生某些事情。我需要让底层软件组件相信已经按下了SHIFT键。我试图通过“Qt方法”将按键事件发送到Qt小部件,但假的SHIFT按键似乎没有到达底层sw。成分。可能是因为它位于与Qt无关的类库中,并且该软件类库可能以不同方式检查关键事件(例如通过操作系统调用、c++std方式或类似方式)。尝试“Qt方式”时这似乎不起作用:QKeyEventkey_press(

c# - 插入windows键盘缓冲区

我们需要从一个硬件(RFID扫描仪)读取数据并将其注入(inject)Windows键盘缓冲区。这样RFID扫描仪就可以用于捕获字符串并注入(inject)光标当前所在的位置,例如,如果Windows应用程序中的文本框具有焦点,那么字符串就会出现在该位置。如果通过网络浏览器呈现的网络应用程序中的文本框具有焦点,则输入需要出现在那里。请注意:问题不在于从RFID设备读取数据-我们可以做到这一点,而是将我们读取的字符串放入Windows键盘缓冲区,这样无论哪个应用程序获得焦点,输入都会出现在光标。开发环境为C#.NET非常感谢托尼 最佳答案

windows - 我们如何在delphi中获取键盘空闲时间

下面的代码可以获取系统空闲时间。functionIdleTime:DWord;varLastInput:TLastInputInfo;beginLastInput.cbSize:=SizeOf(TLastInputInfo);GetLastInputInfo(LastInput);Result:=(GetTickCount-LastInput.dwTime)DIV1000;end;是否可以单独获取键盘空闲时间?让用户移动他/她的鼠标——没关系。是否可以确定键盘闲置了多长时间? 最佳答案 您必须Hook到键盘事件。在Delphi中检查

windows - 如何将键盘和鼠标输入发送到 Windows 登录屏幕?

我正在开发一项需要在Windows登录屏幕上模拟输入的Windows服务。基本上移动鼠标并转发击键。该服务将以完全权限运行,因此这不是问题。我查看了SendInput,但它只适用于当前session。我知道有多种类型的工具可以实现此类功能,例如远程协助工具就是一个示例,它允许IT支持人员查看登录屏幕并提供输入,因此它绝对可行,但如何实现? 最佳答案 系统内部PSExec具有-x命令行开关以在登录屏幕上运行程序。有一个名为PAExec的开源版本.我想您会在其中找到一些有用的API调用。对我来说,代码似乎应该在InteractiveSe

c++ - 以编程方式区分物理键盘或虚拟键盘

我正在编写WindowsC++库,我需要找到一种方法来检测连接的键盘设备是物理设备还是虚拟设备。我已经尝试使用Windows::Devices::Input::KeyboardCapabilities类的KeyboardPresent成员,但即使没有物理键盘,它也会返回true.我也尝试过使用Windows::Devices::Enumeration::DeviceInformation类,但是从它返回的信息,尽其所能,似乎不包含关于设备的性质。也许确实如此,但我错过了?这两种方法都在Surface4Pro上进行了测试。 最佳答案

java - C++键盘键码和JAVA KeyEvent键码之间的区别

我注意到C++中的vkCode提供的键码与Java的KeyEvent提供的键码之间存在差异。(当然,普通字符具有相同的代码(0=>48,就像ASCII一样),但它们在其他键上有所不同)。有没有一种方法可以将它们从一个“翻译”到另一个(每个背后的逻辑是什么?)或者我是否应该为此使用大量开关和IF。如果有帮助,我的应用程序是一半在C++中,一半在JAVA中,因为C++为我们提供了nativeHook,它获取用户按下的键的键码,然后Java将使用它们。提前致谢。 最佳答案 oramIsupposedtouseloadsofswitches

windows - 您可以为 Windows CMD 命令设置键盘快捷键吗?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭8年前。Improvethisquestion我正在运行Windows8.1Pro,想知道是否可以使用键盘快捷键来运行taskkill/F/FI"STATUSeqNOTRESPO