在应用程序

时间:2015-08-06 04:28:38

标签: c# windows-10 sendkeys

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

我们的想法是从IE/FF/Chrome/IE/Excel/Word抓取文字。无论如何,我尝试使用SendKeys.Send()SendKeys.SendWait()以及InputSimulator的Keyboard.KeyPress()。他们都没有抛出异常(好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.");
}

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

由于

1 个答案:

答案 0 :(得分:1)

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