在应用程序外的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(读取并复制到剪贴板)。