Отправка клавиш с помощью C# в Win10 вне приложения
Я пытаюсь отправить простое "CTRL+C"
ход к другому окну.
Идея состоит в том, чтобы взять текст из IE/FF/Chrome/IE/Excel/Word
, Во всяком случае, я пытался использовать SendKeys.Send()
а также SendKeys.SendWait()
и InputSimulator's 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 ответ
Кажется, Sendkeys отключены в Windows 10. В Windows 8.1 Diasbling UAC в реестре я могу использовать SendKeys для Windows Calculator, как обычно. В Windows 10 отключение UAC в Restry the Calculator вообще не запустится. При включении контроля учетных записей запускается калькулятор, но он не принимает никаких команд Sendkeys, но принимает Ctrl+V и Ctrl+C (чтение и копирование в буфер обмена), выданные непосредственно с клавиатуры.