Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как программно нажать Ctrl V или Paste, Нужно сэмулировать Paste 
:(
    Опции темы
sokol74
Дата 24.3.2008, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 26.2.2008

Репутация: нет
Всего: нет



Вопрос такой. Нужно программно нажать на Ctrl V или на правую кнопку мыши и выбрать Paste. 
 Или сделать Paste в то место, где находится курсор на экране. 
PM MAIL   Вверх
_hunter
Дата 24.3.2008, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 2
Всего: 98





--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
vponomarov
Дата 24.3.2008, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев

Репутация: 4
Всего: 12



у объектов типа TextBox (наследованные от TextBoxBase) есть методы Copy() и Paste().
т.е. тебе нужно определить объект, содержащий фокус и вызвать его метод Paste()
хотя возможно неправильно понял задачу smile 


--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
sokol74
Дата 24.3.2008, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 26.2.2008

Репутация: нет
Всего: нет



Цитата(vponomarov @ 24.3.2008,  18:45)
у объектов типа TextBox (наследованные от TextBoxBase) есть методы Copy() и Paste().
т.е. тебе нужно определить объект, содержащий фокус и вызвать его метод Paste()
хотя возможно неправильно понял задачу smile

Задача понята правильно.
Но не совсем.
Скопировать буфер нужно в злополучный контрол <input type="file"
То есть я через webbrowser захожу на страничку, на страничке нахожу контрол, который upload'ит файл на сервер. У контрола есть  свойство value, которое получает путь к файлу и контрол уже сам аплоадит файл. Но программно установить значение в value нельзя, политика безопасности. Поэтому я иду окольным путём. Записал в Clipboard.SetText строку с путём. Потом установил фокус на контрол. 
Теперь курсор находится в нужном месте и если нажать на клаве Ctrl V, то нужный текст копируется куда нужно. Теперь нужно это сделать программно и молиться, что майкрософт не придумал какую-нибудь защиту от такого метода. 
PM MAIL   Вверх
vponomarov
Дата 24.3.2008, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 407
Регистрация: 11.8.2007
Где: Киев

Репутация: 4
Всего: 12



sokol74, ок, а у этого контрола есть описанные свойства? интересует конкретно Paste() smile 



--------------------
user posted image
user posted image
PM MAIL ICQ   Вверх
diverofdark
Дата 24.3.2008, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 3.3.2008

Репутация: нет
Всего: нет



Код

HtmlElement HE=....;
HE.InvokeMember("Paste");


А так не сработает?
PM MAIL   Вверх
sokol74
Дата 25.3.2008, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 26.2.2008

Репутация: нет
Всего: нет



Цитата(vponomarov @ 24.3.2008,  22:57)
sokol74, ок, а у этого контрола есть описанные свойства? интересует конкретно Paste() smile

У контрола нет такого свойства. Есть атрибут value, но он строго ReadOnly. Я полазил в инете на разных форумах узнал, что эта проблема существует уже лет 6 и она не решаема, но можно исхитриться. Вот я и пытаюсь исхитриться. Поэтому и нужно сделать так, что бы как бы получилось нажать на клавиши Ctrl V.

2diverofdark 
К сожелению твой вариант тоже не работает

Это сообщение отредактировал(а) sokol74 - 25.3.2008, 12:10
PM MAIL   Вверх
Dennnis
Дата 25.3.2008, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 23.3.2008

Репутация: нет
Всего: 4



Воспользуйся классом SendKeys:
Код

SendKeys.Send("^V"); //программное нажатие Ctrl+V

Полное описание класса SendKeys можно найти в MSDN.
--------------------
Get Rich or Die Tryin'
PM   Вверх
sokol74
Дата 25.3.2008, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 26.2.2008

Репутация: нет
Всего: нет



Цитата(Dennnis @ 25.3.2008,  14:25)
Воспользуйся классом SendKeys:
Код

SendKeys.Send("^V"); //программное нажатие Ctrl+V

Полное описание класса SendKeys можно найти в MSDN.

Что-то не получилось SendKeys.Send("^V"); так сделать
PM MAIL   Вверх
_hunter
Дата 25.3.2008, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 2
Всего: 98



значит читай первый ответ в топике...


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Azzdorf
  Дата 25.3.2008, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 190
Регистрация: 29.3.2007

Репутация: нет
Всего: нет



а так получить буфер в стрингу
Код


  IDataObject iData = Clipboard.GetDataObject();
  string str = (String)iData.GetData(DataFormats.Text);



??? 
--------------------
Иногда шаг вперед - это результат хорошего пинка под зад.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0483 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.