2 votes

SendKeys pour Xamarin.Mac

Je construis une application Mac en Xamarin et j'ai besoin d'envoyer des frappes au clavier (avec des mots et des phrases) à d'autres applications. Quelque chose comme SendKeys en .Net sur Windows.

Existe-t-il une API équivalente à SendKeys pour Mac dans Xamarin ?

3voto

SushiHangover Points 47109

CGEventCreateKeyboardEvent est ce que vous recherchez, il est basé sur Quartz et donc un bas niveau C API.

Xamarin dispose d'un shim-wrapper sur celui-ci via un CGEvent .ctor . Après avoir créé l'événement, incluez les modificateurs de n'importe quel clavier (shift/apple/alt/....), vous pouvez Post à un identifiant de processus de votre choix.

Un exemple très rapide qui envoie stackoverflow au processus/fenêtre actif.

using (var eventSource = new CGEventSource(CGEventSourceStateID.HidSystem))
{
    var eventString = "StackOverflow";
    foreach (var eventChar in eventString)
    {
        //

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X