2012-01-19 14 views
8

Inizialmente, voglio utilizzare 2 mouse per un'applicazione con puntatori separati e l'interazione tra i 2 mouse (ad esempio selezionando un'area rettangolare). Più tardi potrei voler avere un secondo puntatore disponibile generalmente in Windows. Ho pensato che fosse possibile simulare una penna con il secondo mouse.Windows: separazione dell'input da 2 mouse

La mia domanda principale è: ho ragione di usare un hook di sistema invece di RawInput, DirectInput o InputX?

Se si utilizza un hook di sistema, presumo che sia necessario utilizzare WH_MOUSE_LL anziché WH_MOUSE anche se l'applicazione è in esecuzione su un thread? La mia lingua preferita è C#, ma presumo ancora che l'uso delle importazioni DLL significhi che posso fare tutto ciò che è possibile in C++ o C.

+3

Che ne dici di usare Microsoft Multipoint SDK? http://www.microsoft.com/multipoint/mouse-sdk/ –

+0

Ne sto dando un'altra occhiata. Tuttavia ci sono limitazioni come nessun desktop esteso, quindi penso che preferirei sviluppare la mia interfaccia. –

+0

Per quanto riguarda l'hardware, è possibile eseguire la simulazione di un joypad (in forma di mouse) con un asse analogico che rappresenta la modifica in X/Y per aggiornamento, con 3/4 pulsanti per fare clic. –

risposta

1

Utilizzare il hook di sistema è la strada da percorrere in WINDOWS. È possibile utilizzare C# con InteropServices e gli appropriati oggetti COM +, sebbene sia possibile creare una classe C++ e il suo wrapping sarebbe un approccio migliore. L'ho fatto io stesso con eventi di tastiera. Potrei registrare tutte le tastiere digitando ... E sì, devi usare WH_MOUSE_LL.

Problemi correlati