Как с помощью С# вставить значение переменной в поле...

ikibostus

Client
Регистрация
27.09.2015
Сообщения
256
Благодарностей
26
Баллы
28
Привет, друзья! Возможно ли как-то с помощью С# кода вставить значение переменной в поле, на котором уже сфокусирован курсор. Что бы не использовать буфер обмена. Иначе, при многопотоке в буфере каша получается)
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
можно и через буфер, если лочить часть кода. Ну а так можно через эмуляцию. Скорее всего можно просто взять кубик эмуляции клавиатуры, правой кнопкой, а там выбрать конвертировать в c#
 
  • Спасибо
Реакции: ikibostus

ikibostus

Client
Регистрация
27.09.2015
Сообщения
256
Благодарностей
26
Баллы
28
можно и через буфер, если лочить часть кода. Ну а так можно через эмуляцию. Скорее всего можно просто взять кубик эмуляции клавиатуры, правой кнопкой, а там выбрать конвертировать в c#
А за блокировку части кода в буфере, можно где-то почитать поподробней?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
блокировка кода конструкция такая
lock(SyncObject)
{
//здесь залоченный код
}

Если я правильно понимаю он работает так, что дойдя до этой части кода выстраивается очередь. Эта часть становится узким местом и в многопотоке заставляет проекты в этом месте работать по очереди. Соответственно, в ту часть кода нужно поместить отправку текста в буфе и эмуляцию вставки
 
  • Спасибо
Реакции: ikibostus

ikibostus

Client
Регистрация
27.09.2015
Сообщения
256
Благодарностей
26
Баллы
28
блокировка кода конструкция такая
lock(SyncObject)
{
//здесь залоченный код
}

Если я правильно понимаю он работает так, что дойдя до этой части кода выстраивается очередь. Эта часть становится узким местом и в многопотоке заставляет проекты в этом месте работать по очереди. Соответственно, в ту часть кода нужно поместить отправку текста в буфе и эмуляцию вставки
Все равно ругается - http://skrinshoter.ru/s/231016/npFD01
http://skrinshoter.ru/s/231016/iD5mES - я правильно сделал?
 

ikibostus

Client
Регистрация
27.09.2015
Сообщения
256
Благодарностей
26
Баллы
28
Ну а так можно через эмуляцию. Скорее всего можно просто взять кубик эмуляции клавиатуры, правой кнопкой, а там выбрать конвертировать в c#
К сожалению эмуляция пропускает буквы, если на средней скорости. А на медленной очень долго)
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
попробуй так

Код:
lock(SyncObject) {
    System.Windows.Forms.Clipboard.SetText(project.Variables["baseEmails"].Value);
    instance.ActiveTab.KeyEvent("v","press","ctrl");

}
и ты уверен, что проблема именно а этом кубике? может есть еще какой-то кубик с кодом, который на самом деле и косячит?
 
  • Спасибо
Реакции: Brinkman и ikibostus

ikibostus

Client
Регистрация
27.09.2015
Сообщения
256
Благодарностей
26
Баллы
28
попробуй так

Код:
lock(SyncObject) {
    System.Windows.Forms.Clipboard.SetText(project.Variables["baseEmails"].Value);
    instance.ActiveTab.KeyEvent("v","press","ctrl");

}
и ты уверен, что проблема именно а этом кубике? может есть еще какой-то кубик с кодом, который на самом деле и косячит?
Более менее уверен) Потому что у меня все такие кубики (4 шт), просто переменные внутри разные. Наверное из-за этого и косяк, потому что в каждом потоке по 4 обращения к буферу обмена? Завтра попробую с этим кодом еще. Спасибо!
 

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