在应用程序外的Win10中使用C#发送Key Strokes

我试图将一个简单的"CTRL+C"笔划发送到另一个窗口。

想法是从IE/FF/Chrome/IE/Excel/Word获取文本。 无论如何,我试图使用SendKeys.Send()SendKeys.SendWait()以及InputSimulator的Keyboard.KeyPress() 。 他们都没有抛出exception(好的SendKeys.Send() ,但这是预期的)但它们实际上都没有发送任何东西。

我试图发送信件,但没有任何反应。 我将包含代码片段,看看我是否正在做一些真正密集的事情,但我担心它是一个Win10隔离的东西。 有没有人有幸在Win10中自己的应用程序之外发送击键呢?

的SendKeys:

 public void DoItDamnYou() { SendKeys.SendWait("C"); MessageBox.Show("Press SHOULD have happened"); } 

InputSimulator

 public void DoItDamnYouNow() { InputSimulator input = new InputSimulator(); input.Keyboard.KeyPress(WindowsInput.Native.VirtualKeyCode.VK_D); MessageBox.Show("Now we are in the wrapper."); } 

如果有人有任何想法我会非常感激他们。

谢谢

似乎在Windows 10中禁用了Sendkeys。在Windows 8.1中,在注册表I中使用Diasbling UAC可以像往常一样使用SendKeys到Windows计算器。 在Windows 10中,在重试计算器中禁用UAC根本不会启动。 启用UAC计算器启动,但不接受任何Sendkeys命令,但是接受直接从键盘发出的Ctrl + V和Ctrl + C(读取并复制到剪贴板)。