<p>I'm using the <a href="http://www.microsoft.com/unlimitedpotential/programs/multipoint.mspx" rel="nofollow noreferrer">MultiPoint</a> SDK to create a collaborative educational application for children in less affluent countries, where there is not one computer for each student in the classroom.</p>

<p>Because we need to support up to 40 mice connected to one computer, we need an automated way to test our software. The SDK will support as many mice that it can find on the system and detects when mice are added and removed. Each mouse appears as a 'virtual' mouse pointer within a WPF window. Each child has independent control of 'their' pointer on the screen.</p>

<p>We would like to create a test harness that tricks Windows into thinking that it has more than one mouse. The harness would need to create these fake devices (40+) and use them to send mouse messages like move, button down, etc</p>

<p>Any help would be greatly appreciated.</p>

Faking mice to the extent that you'd need for MultiPoint is going to require a device driver. This is not an easy task, but is by no means impossible.
The best approach would probably be a
HID minidriver
that you can install using the
Setup API
. The driver would then accept
```
DeviceIoControl
```
s which would cause it to simulate mouse input reports.