joonood Ответов: 1

Имитация хода клавиатуры ctrl+v с помощью C# приводит к “v” в целевом приложении


я написал приложение win с использованием c#, которое автоматически связывается с другими приложениями, такими как браузеры. я хочу скопировать что-то в свое приложение win и вставить его в браузер, не привлекая пользователя к щелчку или перемещению мыши. У меня нет никаких проблем с имитацией кликов мыши, но у меня есть проблемы с имитацией ударов клавиатуры. Copy (Ctrl+c) всегда работает правильно, но когда я хочу вставить что-то в буфер обмена, иногда работает правильно, а иногда нет. Follwing больше о моей проблеме: я хочу погладить Ctrl+v с помощью C#, другими словами, Я хочу вставить что-то в буфер обмена в другое приложение с помощью C#.

Я использую следующий код:
SendKeys.Send("^{v}");



Я тоже попробовал следующий код:
SendKeys.Send("^(v)");



Но проблема в том, что это приводит иногда к действию вставки, а иногда просто к нажатию клавиши v. Кто-нибудь может помочь с тем, что не так с моим приложением? и еще один вопрос: Является ли проблемой доступ к буферу обмена, когда другие приложения хотят получить к нему доступ?

Что я уже пробовал:

Я использую следующий код:
SendKeys.Send("^{v}");


Я тоже попробовал следующий код:
SendKeys.Send("^(v)");

1 Ответов

Рейтинг:
2

Kornfeld Eliyahu Peter

MSDN - SendKeys. Send:
Чтобы указать клавиши в сочетании с любой комбинацией клавиш SHIFT, CTRL и ALT, перед кодом клавиши введите один или несколько из следующих кодов.
SendKeys.Send("^v");

---
Посылайте ключи.Send Method (String) (System.Окна.Формы)[^]


BillWoodruff

+5

Kornfeld Eliyahu Peter

Спасибо...