【问题标题】:C# macro applicationC# 宏应用程序
【发布时间】:2014-11-05 11:19:48
【问题描述】:

我正在尝试创建一个 winform C# 应用程序,它将向程序发送击键,就像一个宏应用程序(发送击键)。 我正在使用 Windows 输入模拟器。 https://inputsimulator.codeplex.com/

问题是它只能将击键发送到具有管理员权限的程序,如果我创建的应用程序也以管理员权限运行。我发现运行 .application 文件的唯一方法是使用 CMD,这很令人头疼,还有其他方法吗?

其次,它似乎不适用于所有程序。我在尝试将击键发送到 Avid - Pro Tools 时遇到问题。也许还有另一种发送击键的方法?

我可以用我的 Logitech 鼠标轻松实现宏,为什么我不能通过编程来做到这一点?我错过了什么吗?

这里重点关注一个应用代码:

protected override CreateParams CreateParams
    {
        get
        {
            CreateParams param = base.CreateParams;
            param.ExStyle |= 0x08000000;
            return param;
        }
    }

还有一个示例发送代码:

private void audioTrack_Click(object sender, EventArgs e)
    {

        InputSimulator.SimulateModifiedKeyStroke(
           new[] { VirtualKeyCode.CONTROL, VirtualKeyCode.SHIFT },
           new[] { VirtualKeyCode.VK_N });

        InputSimulator.SimulateKeyDown(VirtualKeyCode.RETURN);
    }

【问题讨论】:

    标签: c# winforms macros sendkeys keystroke


    【解决方案1】:

    似乎 SendKeys.Send 是要走的路!不知道我为什么要费心使用 Windows 输入模拟器库...使用 SendKeys.Send 可以完美运行,无需管理员权限和更少的代码。

    【讨论】:

      猜你喜欢
      • 2016-12-14
      • 1970-01-01
      • 2011-08-09
      • 1970-01-01
      • 1970-01-01
      • 2018-11-25
      • 1970-01-01
      • 1970-01-01
      • 2011-05-31
      相关资源
      最近更新 更多