Question

J'utilise le code trouvé sur le CodeProject.com pour une faible crochet de clavier de niveau . Le seul problème est qu'il utilise des appels de DLL externes qui ne fonctionnent pas en mono. Je me demandais si quelqu'un connaissait un moyen d'accomplir la même chose que ce code, mais s'exécutera sous Windows avec .net et sous Linux avec mono?

Edit: Clarifier ce que j'essaie de faire: Je crée une application similaire au tableau de bord . Le programme se trouve dans la barre d'état système et lorsque l'utilisateur appuie sur la touche de raccourci, tous les gadgets apparaissent. Donc, le programme n'est pas ciblé, donc il ne capte généralement pas les frappes au clavier. J'utilise donc le point d'ancrage du clavier de bas niveau et j'accroche les deux touches que l'utilisateur définit comme touches d'activation. Mais j'utilise un appel DLL Windows pour cela, qui ne fonctionne pas sous Linux en mono. Je me demande donc s’il existe un moyen de faire la même chose, mais fonctionnera sous Linux en mono?

Était-ce utile?

La solution

Il n’est pas possible d’obtenir ce comportement en utilisant uniquement .Net. Vous devez utiliser un pilote binaire pour chaque plate-forme sur laquelle vous exécutez (Windows, Linux, Mac OS). Il est peut-être possible d’utiliser uniquement P / Invoke (détectez le système d’exploitation sur lequel vous travaillez, appelez les bibliothèques système appropriées) afin de ne pas avoir à distribuer de "extra". dll / so / dylib.

Autres conseils

Sans savoir ce que vous essayez de capturer, il est difficile d’être sûr de ce qui fonctionnera pour vous. Vous voudrez peut-être utiliser Application.AddMessageFilter.

Vous en trouverez un exemple ici: http://dn.codegear.com/article/30129

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top