草庐IT

USB-HID鼠标键盘

全部标签

c++ - 当鼠标悬停在某个控件上时,如何设置自定义光标?

我想在鼠标悬停在某个控件上时更改光标。我的光标为png。如何在C++中实现它?我按照here所述尝试过HCURSORhcur;hcur=::LoadCursorFromFile("cursor.png");::SetSystemCursor(hcur,OCR_NORMAL);但它说OCR_NORMAL未定义。HINSTANCEhInst;hInst=GetModuleHandle(NULL);HCURSORhCurs;hCurs=LoadCursor(hInst,MAKEINTRESOURCE(2));::SetSystemCursor(hCurs,OCR_NORMAL);我也尝试过这

windows - 需要为USB外围设备编写驱动程序?

我正在设计一个USB外围设备,它偶尔会连接到WindowsPC,并在每个方向上传输几KB的数据。将有一个自定义PC应用程序使用专有协议(protocol)(即用于USB有效载荷)控制数据传输。我在以下链接中看到Microsoft描述了如何为USB设备编写驱动程序。但是我需要一个吗?DevelopingWindowsclientdriversforUSBdevicesPC应用程序是我们打算知道如何与设备通信的唯一应用程序,因此从应用程序共享的角度来看,不需要驱动程序。我能否直接将自定义协议(protocol)烘焙到应用程序中,让应用程序向设备发送“原始USB”,而无需单独的驱动程序?

c# - 使用 C# 和 Win API 移动屏幕键盘 (osk.exe)

我制作了这个小的.ps1脚本,因为它允许我在不使用编译器(至少直接使用)的情况下运行C#。我想移动使用cmd/cosk.exe打开的“辅助功能屏幕键盘”,因为我不能真正使用TabTip-平移触摸屏键盘在Win8+上。由于屏幕键盘不像平移键盘那么漂亮,我想移动键盘到所需位置并调整它的大小。我注意到OSK有一个子窗口(OSKMainClass→DirectUIHWND),所以我为此努力了,但没有运气。另一方面,用于单个窗口的相同代码适用于记事本并正确放置它并调整它的大小。我将Process.Start()放入if中,以便它返回一些反馈,因此我看到它找到了子窗口-这很好。但是,它没有移动它。

c - 如何在 Windows 上使用 C 将原始数据读写到 USB 驱动器

所以我制定了自己的加密方案,并想出了一个想法,我可以拥有一个带有原始数据(根本没有文件系统)的USB驱动器,我可以将其用作我的加密方案中的“key”。我需要一种直接将数据读取和写入USB的方法,我试过使用libusb但我想不通(对我来说太低级了)。我还看到有一种方法可以在Windows上使用CreateFile函数打开USB驱动器的句柄,但我无法弄清楚所需的参数,我得到了ERROR_INVALID_PARAMETER尝试读取时。我知道操作系统会认为驱动器/它的文件系统已损坏(因为它不会有)但这没关系,我只需要一种存储原始数据的方法。感谢任何帮助,谢谢! 最佳

windows - 如何在不触发 LLMHF_INJECTED 标志的情况下发送鼠标/键盘输入?

目前我使用SendInput()功能,但如果您安装了一个低级别的鼠标Hook,则设置LLMHF_INJECTED表示输入已注入(inject)到流中。有没有一种方法可以发送鼠标和键盘输入,以便不设置LLMHF_INJECTED? 最佳答案 RaymondChen将此类问题描述为军备竞赛。假设S是欺骗此类注入(inject)的技术。然后就会看到这里的问题,如何检测S是否用于注入(inject)鼠标/键盘输入?此标志的要点是Microsoft认为欺骗是可能的,但可以检测到。 关于window

c++ - 按住时键盘输入犹豫?

有谁知道为什么在按住键盘键并尝试处理时会有些犹豫?我正在我的WinProc(...)中调用一个函数,当按下某个键时,该函数将在屏幕(OpenGL)上移动图像。我按下它并得到一个单一的响应,然后有大约0.5秒没有任何反应,然后它表现正常(每个WinMain循环移动1个像素)。我想知道是否由于我需要禁用某些功能而导致Windows消息以某种方式延迟???这是我的代码:intWINAPIWinMain(HINSTANCEhinstance,HINSTANCEhprevinstance,LPSTRlpcmdline,intnshowcmd){boolquit=false;MSGmsg;crea

windows - Linux 上的键盘和鼠标交互

我最近遇到了一个名为AHK的Windows库这使我能够很好地控制与应用程序的交互。在Linux世界中有类似的东西吗? 最佳答案 有几个autohotkey移植到linux正在进行中。这是我的:AutoHotkey使用winelib来源:ahkx.gitautohotkeyforum此外,您可以查看IronAhk,autokey,和xdotool 关于windows-Linux上的键盘和鼠标交互,我们在StackOverflow上找到一个类似的问题: https

c++ - 获取单击鼠标按钮的窗口句柄

嘿,我正在使用WindowsHook,我在系统范围内安装了鼠标Hook,并且运行良好。现在有一个问题,我需要获取鼠标被点击的窗口句柄。我该怎么做?鼠标Hook事件是否向我们传递了该信息? 最佳答案 由于您使用的是WH_MOUSE_LL,因此您正在创建一个低级鼠标Hook,它实际上接收到一个指向MSLLHOOKSTRUCT的指针。没有hwnd成员。您需要使用WH_MOUSE设置一个普通的鼠标钩子(Hook);然后你会得到一个指向MOUSEHOOKSTRUCT的指针你期待的.. 关于c++-

c++ - HID设备(USB)详解

我将条形码扫描器连接到USB端口。我需要将模式从HID键盘更改为串行端口仿真(读取器被系统视为常规HID设备而不是HID系统键盘),以便将数据从扫描仪直接获取到我的应用程序中。到目前为止,一切都很好。问题是我需要知道VID和PID号才能找到我的设备。我知道这些值,但我想按名称查找我的设备。我找到了一个名为SimpleHIDWrite的程序:http://www.lvr.com/hidpage.htm当我启动程序时,我的设备有一个很好的描述“SymbolBarCodeScanner”。我试图通过自己获得这个名字-我使用了结构:HIDD_ATTRIBUTESHIDP_CAPSSP_DEVI

c# - 如何创建非窗口绑定(bind)的键盘快捷键

我正在创建一个C#应用程序,可以是WinForm,但最好是控制台应用程序,即使应用程序不在前台,它也需要捕获键盘快捷键。如何做到这一点,我知道这是可能的,因为Songbird可以做到这一点。此键盘快捷键的形式为ctrl+->到目前为止,我还没有任何代码,因为我什至对如何在全局范围内注册键盘快捷键一无所知。 最佳答案 你应该使用RegisterHotkey而不是键盘Hook。当您只想要全局热键时使用全局键盘钩子(Hook)是对api的滥用。它还会对性能产生负面影响,因为每个键在到达目标程序之前都需要由您的程序处理。