C#中的虚拟小鼠

时间:2010-05-04 03:59:13

标签: events mouse virtual

我们可以做些什么来实施VIRTUAL MICE? 我的意思是,我希望在整个操作系统中有多个鼠标,但它们必须都是VIRTUAL(我不是在讨论为PS / 2或USB鼠标或Microsoft的MultiPoint Mouse SDK提供多个鼠标驱动程序的应用程序。)

就像创建两个对象一样:

小鼠mouse1,mouse2;

并使用它们:

mouse1.mouse_event(...); mouse2.mouse_event(...);

在屏幕上显示CURSOR并不重要。我只需要动作(MOUSE DOWN,MOVE,UP为每个但分开)

重要的是,这些VIRTUAL MICE应该一起工作,同时使用不同的坐标(x,y)单击或向下移动动作。

3 个答案:

答案 0 :(得分:0)

我不知道如何做到你想要的,但你可以模拟鼠标点击,如果你在不同的坐标中相互快速地模拟它们,它们几乎会同时点击。

此链接显示了如何执行此操作:

http://msdn.microsoft.com/en-us/library/ms171548.aspx

如果您将该功能构建到您自己的Mouse类中,它可能与您想要实现的类似。

答案 1 :(得分:0)

AFAIK,你自己就是这个。我认为你的想法与我在同一台计算机上与某人成对工作的想法相同。每个人都有自己的鼠标和键盘,并且在工作时看着同一个显示器,有时是独立工作,有时是一起工作。

我的假设是,这会在Windows操作系统的设计中遇到两个重要的限制:

1)它只知道一个逻辑鼠标和一个逻辑键盘。插入多个设备只需连接力即可移动相同的逻辑鼠标并在同一文本框中输入。

2)HID驱动程序需要通过显示多个逻辑鼠标指针和相同数量的窗口焦点来理解多个“用户”。

我认为这些可能在驱动程序级别使用兼容层来克服。应用程序及其控件可能不需要关心有多少鼠标或键盘或“用户”连接到操作系统。它只是接收窗口消息,指示它何时获得焦点,鼠标移动,按下按键等等。

只需我0.02美元。

答案 2 :(得分:0)

windows ddk(驱动程序开发工具包)允许您使用dsf(驱动程序模拟框架)创建所述数量的虚拟鼠标设备并发送输入。我有一个非常相似的目标,除了全球,因为我想影响mousemischief,我不能自己只使用Windows apis。查看generichid vbscript并编辑它并查看它的注释,并且非常直接地了解其大部分代码。

我已经创建了你的问题的答案,因为我需要模仿多个人kinect设备作为鼠标单独为我的kinectmultipoint项目识别:http://kinectmultipoint.codeplex.com。 任何想要转换为vb.net的人请帮忙,因为我可以使用vbscript但它不稳定。