Windows:从 2 只鼠标中分离输入

Posted

技术标签:

【中文标题】Windows:从 2 只鼠标中分离输入【英文标题】:Windows: Separating input from 2 Mice 【发布时间】:2012-02-14 03:43:16 【问题描述】:

最初,我想将 2 个鼠标用于具有单独指针和 2 个鼠标之间交互的应用程序(例如,选择一个矩形区域)。稍后我可能希望在 Windows 中通常可以使用第二个指针。我认为这可以通过用第二个鼠标模拟手写笔来实现。

我的主要问题是:我是否正确使用系统挂钩而不是 RawInput、DirectInput 或 InputX?

如果使用系统挂钩,我认为即使应用程序在一个线程上运行,我也需要使用 WH_MOUSE_LL 而不是 WH_MOUSE?我的首选语言是 C#,但我再次假设使用 DLL 导入意味着我可以做任何在 C++ 或 C 中可能的事情。

【问题讨论】:

使用microsoft multipoint sdk 怎么样? microsoft.com/multipoint/mouse-sdk 我再看看它。但是有没有扩展桌面等限制,所以我想我更愿意开发自己的界面。 在硬件方面,可以通过模拟游戏手柄(鼠标形式)来完成,该手柄具有一个模拟轴,表示每次更新时 X/Y 的变化,并带有 3/4 个用于单击的按钮。 我使用了 Multipoint SDK。这些限制也开始让我烦恼!如果您有时间,我建议您寻找替代方案(并发布您的结果!)。如果我没记错的话,你应该能够通过 RawInput 接口完成你正在寻找的东西。我认为不需要系统挂钩。 【参考方案1】:

在 WINDOWS 中使用系统挂钩是一种方法。您可以将 C# 与 InteropServices 和适当的 COM+ 对象一起使用,尽管创建一个 C++ 类并包装它会是更好的方法。我自己用键盘事件完成了它。我可以记录所有键盘输入...是的,你必须使用 WH_MOUSE_LL。

【讨论】:

以上是关于Windows:从 2 只鼠标中分离输入的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Windows 窗体中分离 UI 线程和进程线程

如何从它的消息中分离异常类型

c语言复数四则运算

从HTML中分离PHP, 在HTML种写PHP代码

如何在不发出单独请求的情况下将元数据和音轨从广播流中分离出来

ANDROID - 如何从 sqlite 字段中分离 JSONObject 值