草庐IT

鼠标错位

全部标签

c++ - 在 Windows 上获取鼠标光标位置和按钮状态

在Windows(Windows7及更高版本)上获取鼠标光标位置或按钮状态的最合适方法是什么?我以前使用过DirectInput,但我不再使用它,也不想使用它。我看到有GetCursorPos,但是,我没有看到任何用于获取鼠标按钮状态的信息。我以前读过,只阅读窗口消息(例如WM_LBUTTONUP)对于实时应用程序来说被认为是“慢”的,所以我不知道任何其他选项。 最佳答案 如果你想轮询/查询当前光标位置,你可以使用GetCursorPos。要查看按钮状态,请使用GetAsyncKeyState。如果您在窗口中实现消息循环,您将获得的

c# - 如何阻止所有键盘和鼠标输入到我的 WinForms 应用程序?

我有一个WinForms应用程序正在工作线程上从Web服务检索数据,我需要在加载数据之前禁用对我的应用程序的所有输入。目前,我创建了一个半透明的表单并将其放在我的应用程序上。当数据调用完成后,我关闭了这个覆盖表单。这很好地接受了它会给通过终端服务运行应用程序的用户带来相当大的性能问题。我尝试使叠加层完全透明,但这仍然会触发整个窗口的两次重绘,所以这根本没有帮助。我知道处理此问题的一个常见建议是禁用所有控件,但这也会重绘大部分屏幕,因此我正在寻找另一种方法来阻止所有用户输入。如有任何帮助,我们将不胜感激!更新:我应该提到我们已经考虑了模态对话框。目前我们显示叠加层,启动数据访问线程然后构

c++ - 在鼠标光标平面上绘制还是创建自定义动画系统光标?

平台:Windows7语言:C++你好,我正在尝试为辅助功能应用程序创建视觉辅助工具。我的目标是在鼠标光标周围绘制附加信息。它应该在每个应用程序窗口中都可用,如果可能,也应该在全屏应用程序中可用。到目前为止我发现的可能性并不令人满意:-绘制整个桌面的设备上下文-始终在顶部的分层窗口有没有可能在鼠标光标所在的图层上绘制?是否有特殊的内存或设备上下文,可以在其中写入与默认鼠标光标相同的内存。我可以在其他应用程序中使用自定义动Canvas局覆盖默认鼠标光标吗?我可以在系统范围内使用带有动画内容的鼠标光标布局吗? 最佳答案 您需要使用Dir

c# - 如何在C#中让鼠标按住右键单击

我想出了当某些事件发生时如何让鼠标右键单击(在我的例子中是Kinect骨架数据)mouse_event((uint)(MouseEventFlags.RIGHTDOWN|MouseEventFlags.RIGHTUP),(uint)mousepos.X,(uint)mousepos.Y,0,0);此代码仅执行一次鼠标右键单击。只要我在Kinect中做某些手势,我怎样才能让它发生的时间更长,类似于按住鼠标右键单击? 最佳答案 您需要使用提到的事件,并在它们之间设置一些计时器。例子:MouseDownStartTimerMouseUpD

linux - R:getGraphicsEvent 在 windows 和 linux 下的行为不同——尤其是鼠标滚动

在linux下捕获的鼠标事件与在windows下不同,请参阅下面的小测试程序的输出以了解不同的事件。我每个按钮都点击了一次。在Linux下,我收到一个按钮代码,用于按下和释放。在Windows下,滚动滚轮时我根本没有收到任何事件(很遗憾)。有没有办法在Windows下使用getGraphicsEvent()捕获滚动事件?myplotLinux:鼠标左键按钮:0按钮:0鼠标中键(滚轮)按钮:1按钮:1个鼠标右键按钮:01按钮:01轮起来按钮:2按钮:2车轮向下按钮:02按钮:02Windows:鼠标左键按钮:0按钮:鼠标中键(滚轮)按钮:1按钮:鼠标右键按钮:2按钮:轮起来没有事件车轮向

windows - #include 什么关于窗口的代码,原始鼠标数据

我发现以下帖子对我自己的项目非常有用。那么新手问题是:我必须包含什么才能使其正常工作?链接:HowtoaccuratelymeasuremousemovementininchesorcentimetresforamousewithaknownDPI内容:ThefollowingcoderegisterstheRAWINPUTDEVICEsoitcanbeusedinWM_INPUT.RAWINPUTDEVICERid[1];Rid[0].usUsagePage=HID_USAGE_PAGE_GENERIC;Rid[0].usUsage=HID_USAGE_GENERIC_MOUSE;R

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

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

c++ - 如何将鼠标点击和拖动发送到后台的另一个程序?

我正在尝试编写一个程序,从另一个程序(我们称之为P2)获取视觉输出并将其显示在3d世界的屏幕上。图像捕获的流程如下:P2->BitBlt->OpenGLTexture->3dWorld我希望用户能够环顾四周并使用十字准线单击P2中的元素,十字准线将固定在我的程序视口(viewport)中间。但是,在我的实现中,我似乎需要2个光标-一个用于控制3d世界中的相机,一个用于控制P2-我认为这很重要。此外,由于窗口只更新它可见的部分,而且我希望P2以尽可能高的分辨率不断更新,因此在第二个虚拟桌面上安装P2是有意义的。这使得交互问题变得更加困难。我能想到的一些有缺点的解决方案:制作合成窗口管理器

c++ - 单击标题栏按钮时,全局低级鼠标钩子(Hook)会导致卡住

我正在为IE编写一个附加组件。我需要在外部点击时关闭模态对话框。到目前为止,我已经使用WM_NCACTIVATE来接收这些通知,但似乎在Windows7(IE8)上我没有收到此消息(我在低完整性上运行并且我已经用spy++验证了它;它似乎当我以高完整性运行时它确实有效-奇怪的东西)。我已尝试为DeskBandUI线程使用常规鼠标Hook。除了对话框外的鼠标事件,我确实得到了所有鼠标事件。所以我转而使用全局低级鼠标钩子(Hook)(WH_MOUSE_LL)。一切正常,但由于一些非常奇怪的原因,当我单击任何一个标题栏按钮时,我会卡住5-10秒。经过一些在线研究后,我意识到这是一个常见问题,

windows - QTableView:如何将鼠标悬停在整行上?

我继承了QTableView、QAbstractTableModel和QItemDelegate。我可以将鼠标悬停在单个单元格上:voidSchedulerDelegate::paint(QPainter*painter,constQStyleOptionViewItem&option,constQModelIndex&index)const{...if(option.showDecorationSelected&&(option.state&QStyle::State_Selected)){QColorcolor(255,255,130,100);QColorcolorEnd(255