【发布时间】: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