Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#宏应用程序_C#_Winforms_Macros_Sendkeys_Keystroke - Fatal编程技术网

C#宏应用程序

C#宏应用程序,c#,winforms,macros,sendkeys,keystroke,C#,Winforms,Macros,Sendkeys,Keystroke,我正在尝试创建一个WinFormC应用程序,它将向程序发送击键,就像宏应用程序一样(发送击键)。 我正在使用Windows输入模拟器 问题是,如果我创建的应用程序也使用管理员权限运行,那么它只能向具有管理员权限的程序发送击键。我发现运行.application文件的唯一方法是使用CMD,这很麻烦,还有其他方法吗 其次,它似乎并不适用于所有程序。我在尝试向Avid-Pro工具发送击键时遇到问题。也许还有另一种发送击键的方法 我可以很容易地用我的罗技鼠标实现宏,为什么我不能用编程来实现呢?我错过什么

我正在尝试创建一个WinFormC应用程序,它将向程序发送击键,就像宏应用程序一样(发送击键)。 我正在使用Windows输入模拟器

问题是,如果我创建的应用程序也使用管理员权限运行,那么它只能向具有管理员权限的程序发送击键。我发现运行.application文件的唯一方法是使用CMD,这很麻烦,还有其他方法吗

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

我可以很容易地用我的罗技鼠标实现宏,为什么我不能用编程来实现呢?我错过什么了吗

以下是应用程序代码的重点:

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);
    }

看起来像是发送键。发送才是正确的选择!不知道为什么我费心使用Windows输入模拟器库。。。使用SendKeys.Send,它可以完美地工作,不需要管理员权限和更少的代码