2010-04-19 6 views
7

Nous utilisons CPNMouse pour une application fonctionnant sous Windows XP. Un périphérique de souris est détaché de la file d'attente d'événements normale, de sorte que nous pouvons obtenir sa position et les événements et dessiner le curseur nous-mêmes.Plusieurs curseurs de souris sous Windows 7

Malheureusement, CPNMouse ne fonctionne pas sous Windows Vista/7 (voir here). Y at-il une bibliothèque/SDK qui offre les mêmes fonctionnalités sur Windows 7? Juste pour clarifier - nous voulons que le curseur "normal" soit présent et pour dessiner un autre curseur, qui devrait être mappé à un périphérique de souris différent.


Mise à jour: CPNMouse n'est plus pris en charge et son Antérieurement "open source" retiré de SourceForge. Only this legacy documentation page exists on the official CPN Tools site.

On dirait que les produits commerciaux sont disponibles ...

Si quelqu'un a une copie de la source originale de SourceForce s'il vous plaît poster un lien ici ... En supposant que la licence d'origine était une version standard de SourceForge (ouverte à partager/développer), il devrait être acceptable que quelqu'un la transpose dans un nouveau projet pour un développement continu (d'un outil gratuit).

Répondre

2

Vous devez utiliser le dsf de windows ddk pour créer un périphérique de souris émulé, puis tout programme peut accepter l'entrée de ce périphérique de souris émulé spécifique et dessiner le pointeur lui-même. Ainsi, tout programme que vous créerez comportera plusieurs souris. C'est triste de dire qu'il n'est pas possible d'avoir plusieurs pointeurs dans Windows 7 OS, mais ils ne le supportent pas spécifiquement. Donc, vous devrez dessiner le pointeur sur l'écran vous-même. Im peur que le point est que vous devez dessiner un pointeur vous-même pour la souris

+0

C'est exactement ce que fait CPNMouse – kshahar

+0

dsf est utilisé pour tester les périphériques de ligne industriels de Windows XP à Windows 7, y compris les éditions de serveur entre eux aussi. – jeffery

+0

J'ai une meilleure version sur ma page kinectmultipoint.codeplex.com. Il est actuellement travaillé dessus. C'est en dotnet mais Iam presque terminé et vous pouvez simplement prendre le code c/C++ par défaut dans wdk et compiler et obtenir le softehci et d'autres fichiers dll que j'utilise dans mon fichier vbscript. Iam cherche des fenêtres 8 altératives mais leur semble être aucun jusqu'à présent.Essayez de regarder mon code bien que vous puissiez le réviser pour stocker les données de la souris d'une manière différente de C++. Vous pouvez utiliser multipoint et le faire dessiner les dispositifs de la souris pour vous ou utiliser du code dsf pour détecter le nombre de périphériques souris et dessiner à l'écran. – jeffery

3

Jetez un oeil à la MultiPoint SDK, qui permet jusqu'à 25 curseurs sur le même écran, qui prend également en charge Windows 7.

+0

Je suis désolé, j'ai oublié de mentionner que l'application n'utilise pas le framework .NET. Il utilise natif C++ et Qt 4. – kshahar

+0

Moi et je parie que beaucoup d'autres cherchent une façon d'utiliser le deuxième affichage tout en exécutant une application ou un jeu en plein écran. Les jeux sont le meilleur exemple, ils prennent généralement possession de toutes les entrées actives. Je souhaite utiliser mon moniteur de rechange pour faire fonctionner le site Web intégré au jeu (plusieurs d'entre eux, par exemple, BattleField 4) ou simplement parcourir et contrôler mes propres listes de lecture de musique tout en jouant. Pour cela, seule une solution de système d'exploitation (pas une API pour une application spécifique à utiliser) fera l'affaire. –

2

Vous voulez que l'API « Input Raw », qui est livré avec le SDK Plate-forme Windows: MSDN: About Raw Input

+0

Je connais l'API RawInput, elle est également disponible sous Windows XP. Le problème est que je ne peux pas l'utiliser comme je l'ai mentionné dans ma question: dans une application fenêtrée, il n'est pas possible de dessiner le curseur pour un seul des périphériques. – kshahar