Нужна помощь в решении со вставкой текста из буфера обмена.

  • Автор темы Автор темы backoff
  • Дата начала Дата начала

backoff

Client
Регистрация
20.04.2015
Сообщения
6 355
Реакции
6 640
Баллы
113
Ситуация такая.
Есть шаб, тот использует эмуляцию клавы, а именно, CTRL+V. Так как эмулировать ввод текста слишком долго.
Шаблон сделан под сайт который почти весь на аяксе и многие страницы и функции просто подгружаются. И пришел к выводу, что проще переключаться посредством клавы.

В итоге. Проблема конечно же возникла при много потоке. Именно тот момент, который берет текст и вставляет в буфер, а потом делает вставку. Казалось бы какая-то тысячная доля секунды, но этого хватает чтобы вместо ссылки вставить название или еще какую другую хрень. Ну или просто крашнуть шарп.

Вопрос!
Как эмулировать клаву, мгновенную вставку текста из переменной, не за действуя буфер обмена?

или предложите свое решение
 
Последнее редактирование:
Спасибо за наводку....
поиск дал результ.
если кому надо, то лежит тут - http://zennolab.com/discussion/thre...potochnyj-s-blokirovkami-don-shampinon.33359/

Кстати, doc, а твой варик рабочий?
я про этот - http://zennolab.com/discussion/threads/lok-potokov-ctrl-v.33337/#post-242569
должен быть рабочим. Но я бы заменил SyncObject на SyncObjects.InputSyncer
Ассоциативно это более правильно
 
Пришла мысля в голову, внезапно.
А зачем так изголяться если можно сделать с помощью:

Код:
Развернуть Свернуть Копировать
instance.WaitFieldEmulationDelay();
instance.SendText(project.Variables["message"].Value, 0);

по идее должно сработать?
просто у меня куча мест где берется из буфера, а тут получается просто эмулируется? или я не прав?

то есть будет не вставка, а быстрая эмуляция.
 
Последнее редактирование:
в общем протестил, оба варика рабочие. но есть небольшое НО

при использовании большого объема текста эта функция ( instance.SendText(project.Variables["message"].Value, 0); ) не спасает, то есть даже при нуле тратится большое количество времени на заполнение.
при небольших объемах я использую ее.

при больших, сниппет лорда.
 
при использовании сниипета лорда, все равно выпадает ошибка

Выполнение действия CSharp OwnCode Сбой при выполнении запрошенной операции с буфером обмена.

как пофиксить можно?
 

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