Форум: "WinAPI";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];
ВнизКак отловить содержимое Edit ов в форме IE ? Найти похожие ветки
← →
KOMBAS (2004-12-20 21:55) [0]Хочу написать программу которая выдергивает значение из поля ввода формы в IE
Для этого определил указатель на поле ввода, но функции WM_GetText и GetWindowText возвращяют пустое значение :(
Не хотят работать с классом "Internet Explorer_Server"
Как же тогда мне быть ?
← →
Ihor Osov'yak © (2004-12-21 03:34) [1]1. Получить от соотв. окна IHTMLDocument2
2. для решения Вашей задачи имея в руках IHTMLDocument2 нужно задействовать возможности mshtml.dll (и по парсингу, и по вводу-выводу)
Более подробно.
1. Примерно так:type
TObjectFromLResult = function(LRESULT: lResult; const IID: TIID; WPARAM:
wParam; out pObject): HRESULT; stdcall;
const
MSG: Integer = 0;
hInstLib: HWND = 0;
ObjectFromLresult: TObjectFromLresult = nil;
function GetIDocFromHWND(WHandle: HWND; var iDoc: IHtmlDocument2): HRESULT;
var
lRes: Cardinal;
begin
Result := S_FALSE;
if hInstLib = 0 then
hInstLib := LoadLibrary("Oleacc.dll");
if not assigned(ObjectFromLresult) then
@ObjectFromLresult := GetProcAddress(hInstLib, "ObjectFromLresult");
if @ObjectFromLresult <> nil then
begin
if MSG = 0 then
MSG := RegisterWindowMessage("WM_HTML_GETOBJECT");
SendMessageTimeOut(WHandle, MSG, 0, 0, SMTO_ABORTIFHUNG, 1000, lRes);
Result := ObjectFromLresult(lRes, IHTMLDocument2, 0, iDoc);
end;
end;
2. как введение в тему поищите статью "Использование функциональности IE" в "подземелье магов" на Королевстве... Либо сразу поиск в msdn по ключевым словам IHTMLDocument2, IHTMLInputElement...
← →
KOMBAS (2004-12-21 17:31) [2]Дело в том что я не сильно в этом разбираюсь :)
Не могли бы вы мне дать конкретный пример Please
Например хендл эдита находится в переменной hWndEdIE
как в переменную edcapt засунуть этот текст :)
Заранее благодарен за ответ !
← →
cerber1 © (2004-12-21 22:25) [3]Если я не ошибаюсь, то у Едита на НТМЛ форме нет хендла?!
← →
AGAMEMNUM (2004-12-22 01:01) [4]Народ прав, нету у эдита хендла так как не окно это вовсе, а картинка вобщем... и весь этот гемор тебе придется выписывать... но смотря что те нужно... если установить какое нить значение и отправить запрос, то не парься, а посмотри что в поле Action записано, подставляй параметры и пость на сервак... и IE для этого нафиг не нужен...
← →
KOMBAS (2004-12-22 12:46) [5]Что значит нет хэндла, когда я его нашёл ?
И это не картинка!
Я проверял!
Отсылал эдиту WM_Char, работает ОК!
А вот брать текст из него не хочет
← →
BiN © (2004-12-22 13:43) [6]>>KOMBAS (20.12.04 21:55)
Копай в сторону ShellWindows Object
← →
KOMBAS (2004-12-22 16:40) [7]>>Bin
Что это значит ?
Поконкретнее если можно плиззз
← →
BiN © (2004-12-22 17:21) [8]KOMBAS (22.12.04 16:40) [7]
читаем
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/objects/shell/shell.as p
обращаем внимание на свойство Windows объекта Shell
затем
http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/webbrowser/reference/objects/internetexplorer.asp
и рождаем что-то типа
var
ShellObj:Variant;
shWindows, shWindowItem: Variant;
wCount, i: Integer;
strTemp: String;
begin
Memo1.Lines.Clear;
try
ShellObj:=CreateOleObject("Shell.Application");
if not VarIsNull(ShellObj) then
begin
shWindows:=ShellObj.Windows;
if not VarIsNull(shWindows) then
begin
wCount:=shWindows.Count;
for i:=0 to wCount-1 do
begin
shWindowItem:=shWindows.Item(i);
//здесь мы в shWindowItem имеем ссылку на один из InternetExporer object
strTemp:=Format("URL: %s; Path: %s",
[shWindowItem.LocationUrl, shWindowItem.Path]);
Memo1.Lines.Add(strTemp);
.....
....
// и так далее
end;
end;
shWindows:=Null;
end;
finally
ShellObj:=Null;
end;
end;
затем читаем
http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/webbrowser/reference/objects/internetexplorer.asp
и
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/objects/form.asp
а также
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/objects/body.asp
особо радуемся, когда находим описания свойств innerText и innerHTML
с уважением
← →
KOMBAS (2004-12-23 01:51) [9]>> BIN
если можно по конкретнее объясни плз
а то я в COM не шарю :)
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.058 c