![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
IHTMLInputFileElement value? [D5, WinXP]
xmrz © (2004-09-08 19:21:00)Уважаемые мастера, кто-нибудь может помочь решить эту проблему?
Разбираю страницу через TWebBrowser. Возникла насущная необходимость заполнять поля с type="file" (метод set_value()). MSDN и FAQ уже перерыл. На чтение возможность есть, а на запись Micro$oft возможность заблокировали.
У меня единственный вариант: делать "click", а потом искать окно (FindWindow) с "Выбор файла", там в поле вводить текст и нажимать "Выбрать". Вариант скажим так не лучший. Кто нибудь решал эту проблему? Вариант отправлять заголовки мне не подходит, нужно заполнять поле на живую.
xmrz (2004-09-08 22:14:00) [1]>>И правильно сделали. По соображениям безопасности.
целиком и полностью согласен
проделал следующие манипуляции:
wb : TWebBrowser;
fel : IHTMLInputFileElement;
...
fel := FCol.item(j,varEmpty) as IHTMLInputFileElement;
wb.SetFocus;
fel.select;
...
и через keybd_event() посылаю последовательность символов, а в поле - пустота
Что не так?
xmrz (2004-09-08 22:12:00) [2]>>И правильно сделали. По соображениям безопасности.
целиком и полностью согласен
проделал следующие манипуляции:
wb : TWebBrowser;
fel : IHTMLInputFileElement;
...
fel := FCol.item(j,varEmpty) as IHTMLInputFileElement;
wb.SetFocus;
fel.select;
...
и через keybd_event() посылаю последовательность символов, а в поле - пустота
Что не так?
Ihor Osov'yak (2004-09-08 21:52:00) [3]> а на запись Micro$oft возможность заблокировали.
И правильно сделали. По соображениям безопасности.
>У меня единственный вариант:...
боюсь, что он единственный. Можно только слегка модифицировать - не делать клика, просто сфокуcировать соотв. IHtmlElement и слать соотв. сообщения (имитирующие рвьоту клавиатуры) хендлу контрола, который хостит соотв. активИкс (для TWebBrowser это будет WebBrowser.Handle)
>но эти контролы они вроде не окна?
Не окна.
xmrz (2004-09-08 19:46:00) [4]Если бы можно было "не отходя от кассы" получить что-то типа handle поля с WebBrowser'a в которое надо внести значение, и послать ему сообщение SET_TEXT, но эти контролы они вроде не окна? Может есть еще варианты?