Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.26;
Скачать: CL | DM;

Вниз

вопрос по левым Edit ам..   Найти похожие ветки 

 
просто панк   (2002-08-06 01:18) [0]

мне нужно получить текст из активного в данный момент Edita другого приложения...т.е есть форма чужая, на ней в данный момент активен Эдит...вот как мне заюзать от туда текст?


 
rhf ©   (2002-08-06 01:54) [1]

что-то типо этого........


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;


ЗЫ панки ХОЙ !!!


 
Rasa ©   (2002-08-06 03:02) [2]

...тут кэшно, не Edit, а memo, но думаю, разберешься
function GetWindText(AHandle: THandle): String;
var
cb : DWord;
begin
cb := SendMessage(AHandle, WM_GETTEXTLENGTH, 0, 0);
SetLength(Result, cb);
if cb > 0 then
SendMessage(AHandle, WM_GETTEXT, cb+1, LParam(@Result[1]));
end;

procedure TForm1.Button1Click(Sender: TObject);
var
AHandle: THandle;
begin
AHandle := FindWindow("Notepad", nil);
Win32Check(AHandle <> 0);
AHandle := FindWindowEx(AHandle, 0, "Edit", nil);
Win32Check(AHandle <> 0);
Memo1.Text := GetWindText(AHandle);
end;


 
rhf ©   (2002-08-06 03:41) [3]

2 Rasa, вот только речь идет о тексте из любого окна у которого в данный момент фокус ввода :) это и есть самое интересное :)

и думаю через getFocus и подключение потоков проще всего получить нужный хендл... ну а потом уж WM_GETTEXT Ж:)


 
просто панк   (2002-08-07 02:46) [4]

2 rhf Панки ХОЙ!...всё просто супер работает...спасибо за помощь!!


 
просто панк   (2002-08-12 23:09) [5]

тяяяяяякс.....это опять я.. :)
народ а как получить текст из Эдита который находиться в броузере...ну т.е есть например ХТМЛ чат... в нём есть строка ввода мессаг... это чё уже не Edit получаеться? можь input какойнить? пробовал примером у рхф а он тока из активного "настоящего" Edita получает текст, т.е где отображаеться URL.


 
просто панк   (2002-08-14 01:07) [6]

ну чё ни кто не знает?.....или все знаю но молчат? :))



Страницы: 1 вся ветка

Текущий архив: 2002.08.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.01 c
7-85262
Vinivor
2002-06-04 12:55
2002.08.26
Как в Delphi скрыть процесс в Win2k(XP) в taskman?


3-84932
cherepovets
2002-08-07 12:33
2002.08.26
DBGrid


1-85054
TCrash
2002-08-14 13:00
2002.08.26
Виртуальный файл


4-85296
MikeZ
2002-06-22 23:10
2002.08.26
Информация из *.lnk файла. (any Delphi)


14-85248
Fellomena
2002-08-01 14:14
2002.08.26
Fellomona - это МОЯ опечатка, теперь есть одна Я - Fellomena