Форум: "WinAPI";
Текущий архив: 2002.09.19;
Скачать: [xml.tar.bz2];
ВнизУправление чужими контролами... :() Найти похожие ветки
← →
SeVa (2002-07-23 08:29) [0]Приветствую всех великих и непобедимых.))
Одним словом Здравствуй ALL!!
Помогите мне плиз)))Не знаю с какой стороны мне достать контролы которые лежат на форме документа в браузере(IE\NS и т.п.)
Надо чтобы моя прога умела вставлять текстовые сообщения ну скажем
в TEDitControl браузера.)))
Помогите!!!!! прошу Вас.)) слёзно.))
Только плиз объясняйте доходчиво.))
С уважением ко всем SeVa.. :()
______________________________
mailto:seva@tele-kom.ru
← →
Song (2002-07-23 10:13) [1]Сначала надо узнать их дискриптор. Его можно узнать руководствуясь функциями FindWindow(), FindWindowEx(), GetWindow() и др. После этого, этому контролу нужно послать сообщение WM_SETTEXT или воспользоваться SetWindowText()
← →
Игорь Шевченко (2002-07-23 10:39) [2]Song © (23.07.02 10:13)
А что, в окне страницы IE есть какие-то Windows ?
Spy++ их не показывает...
← →
Song (2002-07-23 12:35) [3]Я так подумал, что не в самом документе, а на панели IE (на панели адреса или кнопочки там всякие)
← →
pierre (2002-07-23 15:50) [4]Получаешь хендл, и , с помощью Setwindowtext изменяешь текст...
← →
Seva (2002-07-24 03:29) [5]Здравствуй ALL!!
Всё это рульно - разговоры про findwindow и т.п. Да только вот одна загвоздка, если кто пользовал прогу которая ищет активные контролы(см. статью на тему WINAPI )).), то она находит всё что угодно только не контролы которые лежат на форме HTML документа )) именно HTML, а не просто - на форме самого браузера(окно адреса, хотя найти это кошко то же нужно)).))
Короче эта прога выдает список всяких разных контролов,но чтобы они имели какое то отношение к браузеру !!!??? )) здесь
большой вопрос.))
Одним словом у меня была такая идею: написать текст в окошке TEditControla, а потом с помощью сообщения EM_GETLINE, попробовать найти его дескриптор.))Т.е. посылать всем едитовым контролам данное сообщение и сравнивать их текст с образцом.))
Ниже описание сообщения:
An application sends an EM_GETLINE message to copy a line of text from an edit control and place it in a specified buffer.
EM_GETLINE
wParam = (WPARAM) line; // line number to retrieve
lParam = (LPARAM) (LPCSTR) lpch; // address of buffer for line
Parameters
line
Value of wParam. Specifies the zero-based index of the line to retrieve from a multiline edit control. A value of zero specifies the topmost line. This parameter is ignored by a single-line edit control.
lpch
Value of lParam. Points to the buffer that receives a copy of the line. The first word of the buffer specifies the maximum number of characters that can be copied to the buffer.
Return Values
The return value is the number of characters copied. The return value is zero if the line number specified by the line parameter is greater than the number of lines in the edit control.
Remarks
The copied line does not contain a terminating null character.
See Also
EM_LINELENGTH, WM_GETTEXT
<\i>
Т.о. тепереча требуется только Ваше компитентное вмешательство на предмет проверки данной идеи.))
Скрывать не буду)) хочу написать флудер для чата.)) для этого мне и надо найти HTML-ые контролы.))
А как их найти хрен знает.))
Помогите плиз.))
← →
SeVa (2002-07-24 03:37) [6]Еще раз акцентирую Ваше внимание на проге которой я пользовался. Именно она выдает список всяких разных активных контролов, в том числе и окно браузера, а вот информация о контролах HTML документа, который в данный момент загружен, несколько туманна.))
С Уважением ко Всем SeVa.)))
← →
Игорь Шевченко (2002-07-24 12:25) [7]Flooders must die
← →
TTCustomDelphiMaster (2002-07-25 00:22) [8]Я посмотрел как работает IE6. Наврядли что-то получиться с вводом текста через WM_SETTEXT или SetWindowText(). Дело в том, что контролы типа TEdit появляются там динамически, после того как пользователь начал вводить информацию в поле. И удаляются после того как контрол потеряет фокус.
← →
Wolvescrush (2002-08-01 10:37) [9]Писал аналогичную прогу (правда не флудер :) ), возникли, есссно, аналогичные проблемы. WinSight выдает, что окно для ввода текста в чате - Popup (не Overlapped и не Child). А FindWindowEx находит только Child"ы. Так что как получить его хэндл (а он есть) - не знаю. Это лыжи не едут или я чего не понял :))?
← →
nester (2002-08-01 11:09) [10]Ну не знаю как вам мужики, а мене кажется проще всего через DOM(это кажется так называется) примерно так:
WebBrowser1.OleObject.Document.all.tags("INPUT").item(0).VALUE:= "траляля-трулюлю";
Не пробовал, но должно сработать.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.09.19;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.005 c