Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.08.29;
Скачать: [xml.tar.bz2];

Вниз

ещё раз про левые эдиты...   Найти похожие ветки 

 
просто панк   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
1-95862
^Sanya
2002-08-16 23:02
2002.08.29
Little Question: Правда, что в ini больше 64Кб не похранишь?


1-95777
-= Like =-
2002-08-19 17:26
2002.08.29
Запись, чтение, поиск строки.


1-95843
Александр
2002-08-16 21:44
2002.08.29
OpenDialog


6-95922
sergling
2002-06-19 22:39
2002.08.29
Кто писал шлюзы, поделитесь опытом


1-95834
_Alex_
2002-08-17 11:47
2002.08.29
Простая программа





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский