Страница: 1 |
Брось на форму текстбокс(в нём пиши адрес) и кнопку(нажимай и он вставится): Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Дело в том, что мне надо вставить на страницу в в браузере. А данный код всталяет текст в адресную строку. А ты хоть что-нибудь о поле знаешь? Ну когда сохранить страницу на диск и открываю ее блокнотом, я могу увидеть имя текстого поля, ее тип и значение (введенный текст). И еще. На странице еще 4 таких текстовых поля, в которые мне нужно вставить текст, других таких полей на этой странице нет. Для начала узнай сколько всего элеметов поддерживают фокус: жёлкни на первом поле и нажимай tab и считай сколько будет раз(ты должен опять вернутся в это поле) После адресной строки фокус переходит на 1е поле, 2е поле, 3е поле, 4поле, 5поле, потом на кнопку, и снова на адресную строку. З.Ы. У тебя есть ICQ? Аськи нет но код ща напишу! Брось на форму таймер с интервалом 50 вставь код запусти программу, кликни на адрес и нажми F2 по идеи всё должно работать, хорошо было бы если ты Html код кинул! Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Const WM_SETFOCUS As Long = &H7 Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Integer Sub item(item1 As String, item2 As String, item3 As String, item4 As String, item5 As String) hWnd2 = FindWindow("IEFrame", vbNullString) 'Или hWnd2 = FindWindow( vbNullString,name) - где name заголовок окна hWnd2 = FindWindowEx(hWnd2, 0, "WorkerW", vbNullString) hWnd2 = FindWindowEx(hWnd2, 0, "ReBarWindow32", vbNullString) hWnd2 = FindWindowEx(hWnd2, 0, "ComboBoxEx32", vbNullString) hWnd2 = FindWindowEx(hWnd2, 0, "ComboBox", vbNullString) hWnd2 = FindWindowEx(hWnd2, 0, "Edit", vbNullString) SendMessage hWnd2, WM_SETFOCUS, 0, 0 SendKeys "{TAB}" SendKeys item1 SendKeys "{TAB}" SendKeys item2 SendKeys "{TAB}" SendKeys item3 SendKeys "{TAB}" SendKeys item4 SendKeys "{TAB}" SendKeys item5 'Если надо нажать на кнопку то сними коментарии 'SendKeys "{TAB}" 'SendKeys "{Enter}" End Sub Private Sub Timer1_Timer() If GetAsyncKeyState(vbKeyF2) Then item "VB", "VisualBasic", "MS VB", "vb - cool!", "Yo!" End Sub БОЛЬШОЕ СПАСИБО! Чё типа всё работает? Проверю щас напиши результат ИДЕАЛЬНО! ТЫ - ГЕНИЙ! Ok,рад помочь Страница: 1 |
Вопрос: Работа с другим приложением: Как внести текст ...
Добавлено: 07.11.03 19:25
Автор вопроса:
Alexander N | Web-сайт:
Как внести текст в текстовое поле на странице в браузере ИЕ (при том, что я не знаю идентификатор поля)? Заранее благодарен
Ответы
Всего ответов: 14
Номер ответа: 1
Автор ответа: xaker^4
Вопросов: 4
Ответов: 7
Профиль | | #1
Добавлено: 07.11.03 20:47
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_SETTEXT = &HC
Private Const WM_PASTE = &H302
Private Sub Command1_Click()
hWnd2 = FindWindow("IEFrame", vbNullString) 'Или hWnd2 = FindWindow( vbNullString,name) - где name заголовок окна
hWnd2 = FindWindowEx(hWnd2, 0, "WorkerW", vbNullString)
hWnd2 = FindWindowEx(hWnd2, 0, "ReBarWindow32", vbNullString)
hWnd2 = FindWindowEx(hWnd2, 0, "ComboBoxEx32", vbNullString)
hWnd2 = FindWindowEx(hWnd2, 0, "ComboBox", vbNullString)
hWnd2 = FindWindowEx(hWnd2, 0, "Edit", vbNullString)
Clipboard.Clear
Clipboard.SetText Text1.Text
SendMessage hWnd2, WM_SETTEXT, 0, 0
SendMessage hWnd2, WM_PASTE, 0, 0
End Sub
Номер ответа: 2
Автор ответа: Alexander N
Вопросов: 21
Ответов: 44
Web-сайт:
Профиль | | #2
Добавлено: 08.11.03 14:04
Номер ответа: 3
Автор ответа: xakep^8
Вопросов: 1
Ответов: 14
Профиль | | #3
Добавлено: 08.11.03 14:31
Номер ответа: 4
Автор ответа: Alexander N
Вопросов: 21
Ответов: 44
Web-сайт:
Профиль | | #4
Добавлено: 08.11.03 14:52
Номер ответа: 5
Автор ответа: xakep^8
Вопросов: 1
Ответов: 14
Профиль | | #5
Добавлено: 08.11.03 15:03
Номер ответа: 6
Автор ответа: Alexander N
Вопросов: 21
Ответов: 44
Web-сайт:
Профиль | | #6
Добавлено: 08.11.03 15:29
Номер ответа: 7
Автор ответа: xakep^8
Вопросов: 1
Ответов: 14
Профиль | | #7
Добавлено: 08.11.03 18:17
Номер ответа: 8
Автор ответа: xakep^8
Вопросов: 1
Ответов: 14
Профиль | | #8
Добавлено: 08.11.03 19:23
Номер ответа: 9
Автор ответа: Alexander N
Вопросов: 21
Ответов: 44
Web-сайт:
Профиль | | #9
Добавлено: 08.11.03 20:49
Номер ответа: 10
Автор ответа: xakep^8
Вопросов: 1
Ответов: 14
Профиль | | #10
Добавлено: 08.11.03 20:59
Номер ответа: 11
Автор ответа: Alexander N
Вопросов: 21
Ответов: 44
Web-сайт:
Профиль | | #11
Добавлено: 08.11.03 21:01
Номер ответа: 12
Автор ответа: xakep^8
Вопросов: 1
Ответов: 14
Профиль | | #12
Добавлено: 08.11.03 21:20
Номер ответа: 13
Автор ответа: Alexander N
Вопросов: 21
Ответов: 44
Web-сайт:
Профиль | | #13
Добавлено: 08.11.03 23:17
Номер ответа: 14
Автор ответа: xakep^8
Вопросов: 1
Ответов: 14
Профиль | | #14
Добавлено: 08.11.03 23:25