![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 26.04.2010
Сообщений: 40
|
![]()
Приветствую всех. Вобщем есть такая задача. Нужно написать приложение небольшое по реазмерам(1смх2см), которое всегда будет поверх остальных окон. На окошке кнопка. И чтобы при нажатии этой кнопки прога по координатам экрана(это поле на сайте) щелкала курсором и вставляла уже заготовленный текст. И далее САМА через кнопку Tab переходила на другое поле и вставляла следующий текст.
Вопрос к знатокам. Подскажи пожалуйста, как можно это реализовать? Или статейку, или литературу близкую к данному примеру. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 14.10.2009
Сообщений: 128
|
![]()
1. Поверх окон
Код:
![]() 3. Клик мышью как-то так Код:
Код:
Код:
Последний раз редактировалось Dj_SheLL; 01.05.2010 в 13:00. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 26.04.2010
Сообщений: 40
|
![]()
Спасибо огромное.
Про HTML. В этом и вся загвоздка. Имена полей постоянно меняют на сайте. Поэтому желательно не иметь этой привязки, а просто переключаться Табом по полям. В принципе уже разобрался что к чему. Но возник вопрос. Как мне пропустить 2 поля табом? После заполнения последнего поля, мне нужно пропустить ещё 2 и щаполнить ещё 1. Я делаю так: keybd_event($9,0, 0, 0); - Таб keybd_event($9,0, 0, 0); - Ещё раз Таб keybd_event($*,0, 0, 0); - И дальше заполняю нужную инфу. Но почему то он не переходит 2 раза. А только 1 раз. И п.с. Объясните, пожалуйста, новичку, что означают эти нули? keybd_event(0,0, 0, 0); Последний раз редактировалось bunukar; 01.05.2010 в 14:23. |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 14.10.2009
Сообщений: 128
|
![]()
keybd_event(0,0, 0, 0); - WinAPI функция.
Соответственно: Код:
Код:
bVk Определяет код виртуальной клавиши. Код должен быть значением в диапазоне от 1 до 254. bScan Определяет для клавиши аппаратный скэн-код. dwFlags Набор флаговых битов, которые определяют различные виды операций функции. Прикладная программа может использовать любую комбинацию следующих предопределенных постоянных значений, чтобы установить флажки: KEYEVENTF_EXTENDEDKEY - Если она установлена, скэн-коду предшествует префиксный байт, имеющий значение 0xE0 (224). KEYEVENTF_KEYUP - Если установлена, клавиша была отпущена. Если не установлена, клавиша была нажата. dwExtraInfo Определяет дополнительное 32-разрядное значение, связанное с нажатием клавиши. Возвращаемые значения У этой функции нет возвращаемых значений. Замечания Несмотря на то, что keybd_event посылает в Windows OEM-зависимый аппаратный скэн-код, прикладные программы не должны использовать скэн-код. Windows внутри себя преобразует его в коды виртуальной клавиши и сбрасывает/устанавливает биты в скэн-коде перед передачей его в прикладную программу. Прикладная программа может смоделировать нажатие клавиши PrintScreen, чтобы получить снимок экрана и сохранить его в буфере обмена Windows. Чтобы делать это, вызовите keybd_event с установленным параметром bVk в VK_SNAPSHOT, а параметром bScan установите в 0 для снимка полного экрана, или установите bScan в 1 для снимка активного окна. Про TAB-ы не знаю,не работал. Вот тут ещё есть про эмуляцию нажатия клавиши для любого активного приложения. Ну и тут ещё кое-что интересное возможно есть. Последний раз редактировалось Dj_SheLL; 01.05.2010 в 15:02. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 26.04.2010
Сообщений: 40
|
![]()
Ну спасибо вам, Dj_SheLL Очень интересная информация.
И возник ещё один вопросик. Можно ли имитировать прокрутку scroll'a? В данном случае мне нужно промотать вниз. |
![]() |
![]() |
![]() |
#6 | |
Форумчанин
Регистрация: 14.10.2009
Сообщений: 128
|
![]() Цитата:
(Name:'DOWN'; VKey:VK_DOWN), (Name:'UP'; VKey:VK_UP), т.е. это кнопки со стрелками соответственно "Вниз" и "Вверх",где я ссылку на статью давал-там пример,как эмулировать. Но перед этим нужно программно щёлкнуть по пустому полю страницы (кликать мышкой мы теперь уже умеем ![]() Последний раз редактировалось Dj_SheLL; 01.05.2010 в 15:44. |
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 26.04.2010
Сообщений: 40
|
![]()
Не,не,не. Мне нужно не страницу скроллить. Выпадает список с выбором страны. Вот мне и нужно его проскроллить до моей страны(либо по времени, либо по считыванию). Page Up, Page down - не работают в таком случае. Только что попробовал, что если зажать левую кнопку мыши и мотать стрелкой в низ то получается. Сейчас попробую реализовать.
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 14.10.2009
Сообщений: 128
|
![]()
Ну тогда не знаю.Может всё таки структуру страницы посмотреть,я думаю выбор страны вряд ли будет меняться.Если мне не изменяет память,каждой строке в таком блоке присвоен свой идентификатор...могу ошибаться.
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 26.04.2010
Сообщений: 40
|
![]()
С кодом страницы думаю бесполезно. Поле страны тоже меняют.(типо _country, c_10203,f_co и т.д.). Со стрелками попробовал - не работает. Единтсвенный вариант остается - это открыть список выбора, имитировать клавишами выбор поиска на странице, ввести страну и закрыть окошко. В таком варианте страна появляется прямо по середине списка.
В любом случае, спасибо за помощь. А возможно имитировать например Ctrl+F? Последний раз редактировалось bunukar; 01.05.2010 в 16:07. |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 14.10.2009
Сообщений: 128
|
![]()
Не за что.
Насчёт Ctrl+F(что-то) не задумывался.Возможно. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Площадь фигуры по координатам вершин | Maksss123 | Фриланс | 8 | 09.03.2010 21:30 |
Вывод по координатам | Alyonka_v | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 15.09.2009 20:10 |
Принадлежность объекта по координатам | Angel_CJ | Помощь студентам | 9 | 12.09.2007 18:43 |
Рассчет времени по координатам | Квэнди | Свободное общение | 5 | 28.12.2006 12:59 |