Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.96/28: Рейтинг темы: голосов - 28, средняя оценка - 4.96
Huntir
0 / 0 / 0
Регистрация: 25.10.2011
Сообщений: 14
1

Программное нажатие клавиши

11.11.2011, 10:43. Просмотров 5170. Ответов 8
Метки нет (Все метки)

Здравствуйте. Подскажите пожалуйста, WF VS2008. Нужно в программу добавить строчку, по которой эмитировалось бы нажатие клавиши Enter. (как будто я нажал на клавиатуре Enter)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2011, 10:43
Ответы с готовыми решениями:

Программное нажатие мыши
Суть задачи: когда зажата левая кнопка мышки, на компьютере в этот момент...

Программное нажатие кнопки на чужой форме
Всем привет! Борюсь с такой задачей: Как можно програмно нажать кнопку на...

Программное нажатие на кнопку страницы сайта
Доброго времени. Программно выполняю действия на сайте. Нужно выполнить нажатие...

richtextbox программное нажатие клавиш клавиатуры
как в RichtextBox программно нажать клавишу "Right" клавиатуры?

Программное нажатие кнопки в другой программе
вот код который имею почему-то когда пытаюсь найти саму кнопку возвращает 0 ...

8
SergiiK
37 / 39 / 6
Регистрация: 10.11.2011
Сообщений: 70
11.11.2011, 10:57 2
Если для нажатия клавиши существует соответствующий метод, тогда вызови просто этот метод. Или задача в другом?
0
Huntir
0 / 0 / 0
Регистрация: 25.10.2011
Сообщений: 14
11.11.2011, 11:10  [ТС] 3
Задача в том, чтобы заставить программу "подумать", что я нажал на клавиатуре клавишу "Enter". Если можно, по подробнее, спасибо.
0
tasty_sock
133 / 131 / 21
Регистрация: 26.01.2010
Сообщений: 350
11.11.2011, 11:22 4
C#
1
SendKeys.Send("{ENTER}");
http://msdn.microsoft.com/ru-ru/libr...keys.send.aspx
0
Huntir
0 / 0 / 0
Регистрация: 25.10.2011
Сообщений: 14
11.11.2011, 11:40  [ТС] 5
Цитата Сообщение от tasty_sock Посмотреть сообщение
Я пробовал использовать SendKey, но у меня не выходит. Объясню для чего мне это: Я использую на форме WebBrowser, загружаю сайт, заполняю необходимые мне формы, перевожу фокус на кнопку "Вход", после этого мне нужно, чтобы программа сама нажала Enter. Но, такого не происходит, не знаю почему.

Я сначала пробовал использовать
C#
1
webBrowser1.Document.GetElementById("submit").InvokeMember("click");
но выдает ошибку, не задана ссылка для объекта, так как не может в коде сайта найти строку.

Может есть способ как задать клик по кнопке, имеющей код:
HTML5
1
<input value="Вход" type="submit" class="submit" onClick="return onformsubmit('auth');">
Как видно из кода, у этой кнопки нет ID или Name, по которым можно было бы обратиться. Есть предложения?
0
SergiiK
37 / 39 / 6
Регистрация: 10.11.2011
Сообщений: 70
11.11.2011, 11:43 6
Вообще задача не самая простая. В .NET есть библиотеки UIAutomationClient and ...Server которые делают такие операции. Успешно используется для автоматизации тестирования.

http://blogs.msdn.com/b/hilliao/arch...ionclient.aspx

Добавлено через 3 минуты
И еще, если ты просто тестируешь сайт - тогда попробуй плагин для FireFox Mozilla "Selenium IDE". Там ты можешь написать скрипты, которые будут и кнопки нажимать и текст вводить.
0
Huntir
0 / 0 / 0
Регистрация: 25.10.2011
Сообщений: 14
11.11.2011, 11:46  [ТС] 7
По роду деятельности я копирайтер и мне нужно ежедневно на 5-ти сайтах вводить логин, пароль, вход. Вот я и решил написать программку, которая будет делать автовход на все сайты. Сейчас посмотрю еще что можно придумать.
0
Redfex
597 / 521 / 114
Регистрация: 24.03.2011
Сообщений: 576
11.11.2011, 12:24 8
Цитата Сообщение от Huntir Посмотреть сообщение
Может есть способ как задать клик по кнопке, имеющей код:
HTML5
1
<input value="Вход" type="submit" class="submit" onClick="return onformsubmit('auth');">
Как видно из кода, у этой кнопки нет ID или Name, по которым можно было бы обратиться. Есть предложения?
это делается так:
C#
1
2
3
  foreach (HtmlElement h in webBrowser1.Document.GetElementsByTagName("input"))
     if (h.GetAttribute("value").Equals("Вход"))
       h.InvokeMember("click");
1
Huntir
0 / 0 / 0
Регистрация: 25.10.2011
Сообщений: 14
11.11.2011, 12:39  [ТС] 9
Redfex, Огромное спасибо, то что нужно!))

Добавлено через 13 минут
Цитата Сообщение от Redfex Посмотреть сообщение
это делается так:
C#
1
2
3
  foreach (HtmlElement h in webBrowser1.Document.GetElementsByTagName("input"))
     if (h.GetAttribute("value").Equals("Вход"))
       h.InvokeMember("click");
Redfex - есть еще вопрос тоже по WebBrowser. Есть ли способ, чтобы при открытии определенного сайта Скрипты выполнялись, а не выдавали ошибки?! Сейчас я скрыл их появление свойством ScriptErrorSuppressed, но это не дело, так как сайт работает некорректно.
0
11.11.2011, 12:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.11.2011, 12:39

Программное нажатие клавиш с определённым интервалом в браузерной игре
Столкнулся с такой проблемой. Необходимо автоматизировать действие в браузерке....

Нажатие клавиши
помогите , надо чтоб при нажатии ctrl+k присваивалось значение например а=30

Эмуляция нажатие клавиши во flash
Здравствуйте. Осуществил эмуляцию клавиш с помощью функций SendKeys.Send() и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru