首页 > 解决方案 > 将击键发送到在 Xamarin.Mac 中不起作用的活动应用程序

问题描述

我正在尝试使用 Visual Studio Mac 将击键发送到活动应用程序。我遵循了这个答案:SendKeys for Xamarin.Mac

using (var eventSource = new CGEventSource(CGEventSourceStateID.HidSystem))
{
    var eventString = "1234";

    foreach (var eventChar in eventString)
    {
        ushort key;

        if (eventChar == ' ')
            key = (ushort)NSKey.Space;
        else
            key = (ushort)(NSKey)Enum.Parse(typeof(NSKey), eventChar.ToString().ToUpper());

        using (var keyEvent = new CGEvent(eventSource, key, true))
        {
            CGEvent.Post(keyEvent, CGEventTapLocation.HID);
        }
        using (var keyEvent = new CGEvent(eventSource, key, false))
        {
            CGEvent.Post(keyEvent, CGEventTapLocation.HID);
        }

    }
}

基本上,在其他语言的其他示例之后没有真正的魔力,但是击键被忽略了。

有没有什么额外的想法,比如沙盒或其他?我在调试模式下运行我的应用程序。

我已经尝试从主 UI 线程和后台线程发送事件。但是,击键只是被忽略了。

标签: xamarinsendkeysvisual-studio-macxamarin.mac

解决方案


推荐阅读