Текущий архив: 2002.08.29;
Скачать: CL | DM;
Внизещё раз про левые эдиты... Найти похожие ветки
← →
просто панк (2002-08-15 02:48) [0]мастера!... как можно получить текст из АКТИВНОГО эдита в html странице...я пользуюсь NetCaptor...садиться на ИЕ кто не в курсе...
пробовал вот так....но не получаеться...
var
targetOwner:dword;
threadID:dword;
attached:boolean;
txt:array[0..255] of char;
...........
begin
...........
targetOwner:=getWindowThreadProcessID(getForegroundWindow,nil);
threadID:=getCurrentThreadID();
if (targetOwner<>threadID) then attached:=attachThreadInput(threadID,targetOwner,TRUE);
sendMessage(getFocus,WM_GETTEXT,wParam(sizeOf(txt)),lParam(@txt));
// теперь можно узнать содержимое edit-a как string(txt)
if attached then attachThreadInput(threadID,targetOwner,FALSE);
...........
...........
end;
по совету rhf...
← →
rhf (2002-08-15 05:37) [1]этим примером ты получаешь текст из елемента управления в котором находится фокус ввода..... для того что тебе хочеться это не подойдет..... :)
← →
просто панк (2002-08-16 01:04) [2]а что подойдёт тогда?.... :)))
← →
гвоздь (2002-08-16 08:37) [3]я тоже над этим думаю..... тожк надо, уже спрашивал, но никто не отвечает :(
← →
просто панк (2002-08-17 01:07) [4]вот блин... элементарно вроде...но текст из ХТМЛ эдитов даже WinSeight 32 из Delphi не видит... :(
← →
int64 (2002-08-17 06:24) [5]По клику будет найден текст из активного <TEXTAREA>.
procedure TForm1.Button1Click(Sender: TObject);
var
Wnd: HWND;
Doc: iHTMLDocument2;
AI: iHTMLElement;
hInst: HWND;
lRes: Cardinal;
MSG: Integer;
ObjectFromLresult: TObjectFromLresult;
begin
Wnd := FindWindow("TFrmMain", nil);
if Wnd = 0 then
begin
showmessage("Не запущен ни один NetCaptor");
exit;
end;
Wnd := FindWindowEX(Wnd, 0, "TPanel", nil);
Wnd := GetNextWindow(Wnd, GW_HWNDNEXT);
Wnd := FindWindowEX(Wnd, 0, "TNCTransPanel", nil);
Wnd := FindWindowEX(Wnd, 0, "TNCPageControl", nil);
Wnd := FindWindowEX(Wnd, 0, "TBrowserTab", nil);
Wnd := FindWindowEX(Wnd, 0, "Shell Embedding", nil);
Wnd := FindWindowEX(Wnd, 0, "Shell DocObject View", nil);
Wnd := FindWindowEX(Wnd, 0, "Internet Explorer_Server", nil);
if Wnd <> 0 then
begin
hInst := LoadLibrary("Oleacc.dll");
@ObjectFromLresult := GetProcAddress(hInst, "ObjectFromLresult");
if @ObjectFromLresult <> nil then begin
try
MSG := RegisterWindowMessage("WM_HTML_GETOBJECT");
SendMessageTimeOut(Wnd, MSG, 0, 0, SMTO_ABORTIFHUNG, 1000, lRes);
ObjectFromLresult(lRes, IHTMLDocument2, 0, Doc);
finally
FreeLibrary(hInst);
end;
end;
if not assigned(Doc) then exit;
AI:= Doc.activeElement;
if not assigned(AI) or (AI.tagName<>"TEXTAREA") then exit;
Memo1.Text:= AI.getAttribute("VALUE",0);
end;
end;
Дерзай.
← →
int64 (2002-08-17 06:39) [6]Забыл добавить:
TObjectFromLResult = function(LRESULT: lResult; const IID: TIID; WPARAM: wParam; out pObject): HRESULT; stdcall;
← →
просто панк (2002-08-17 22:42) [7]а куда пихать вот это?
TObjectFromLResult = function(LRESULT: lResult; const IID: TIID; WPARAM: wParam; out pObject): HRESULT; stdcall;
и ещё он выдаёт ошибку на
Doc: iHTMLDocument2;
AI: iHTMLElement;
мне в этом примере оч сложно разобраться так что я его просто копировал... поможите чем можите
← →
int64 (2002-08-19 19:45) [8]
> а куда пихать вот это?
> TObjectFromLResult = function(LRESULT: lResult; const IID:
> TIID; WPARAM: wParam; out pObject): HRESULT; stdcall;
Это описание типа, туда и вставляй (слово type жирными буквами).
> и ещё он выдаёт ошибку на
> Doc: iHTMLDocument2;
> AI: iHTMLElement;
Добавь в
Uses ..., MSHTML, ActiveX;
Страницы: 1 вся ветка
Текущий архив: 2002.08.29;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.006 c