Как ускорить ввод input?

phelix

Пользователь
Регистрация
28.04.2021
Сообщения
62
Благодарностей
12
Баллы
8
Уже пробовал paste from clipboard используя C#, работает норм при одном потоке - но когда много потоков, в случае что 2+ потоков одновременно ставят переменную в clipboard и пейстуют от туда, глючит и перемешивается.

Нужно ввести ~30и значный string за 1 секунду.

Подскажите плз альтернативы к решению использования clipboard-а.

Заранее благодарен.
 

izubr

Client
Регистрация
11.05.2011
Сообщения
525
Благодарностей
220
Баллы
43
где то было с блокировками решение.

Вот ветка, оттуда брал в этом году:


========================================

lock(SyncObjects.InputSyncer) // блокировка
{
var descr = project.Variables["rez"].Value;
if (String.IsNullOrEmpty(descr)) {
throw new Exception("Пустой текст для вставки");
}

// сохраняем предыдущее состояние буфера
String previous_text = null;
previous_text = System.Windows.Forms.Clipboard.GetText();

// сохраняем нужный текст в буфер и вставляем его (программно делаем CTRL+V)
System.Windows.Forms.Clipboard.SetText(descr);
instance.ActiveTab.KeyEvent("v","press","ctrl");

// стираем буфер и возвращаем его к первоначальному состоянию
System.Windows.Forms.Clipboard.Clear();
if (!String.IsNullOrEmpty(previous_text)) {
System.Windows.Forms.Clipboard.SetText(previous_text);
}
}
========================================
 
Последнее редактирование:
  • Спасибо
Реакции: phelix

phelix

Пользователь
Регистрация
28.04.2021
Сообщения
62
Благодарностей
12
Баллы
8
Огромное спасибо!
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)