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

Вниз

Достать данные   Найти похожие ветки 

 
borg   (2002-10-12 18:28) [0]

Я вытащил все Handel и с помощью SendMessage(1620,WM_GETTEXT,0,0); пытаюсь этот текст просмотреть, но :-(((
SendMessage возвращает Integer, а мне надо бы узнать написанный текст. Зарание большое спасибо.


 
Anatoly P   (2002-10-12 18:33) [1]

Не совсем понял, но может быть GetWindowText()


 
ZrenBy ©   (2002-10-12 18:33) [2]

WM_GETTEXT
wParam = (WPARAM) cchTextMax; // number of characters to copy
lParam = (LPARAM) lpszText; // address of buffer for text

+

WM_GETTEXTLENGTH
wParam = 0; // not used; must be zero
lParam = 0; // not used; must be zero


 
borg   (2002-10-12 18:41) [3]

Извиняюсь за неполный вопрос. Мне надо скопировать текст из DBEdit который находится в другой программе(она запущена) в мою в Edit1
{Ищем хэндл DBEdit}
handle1:=FindWindowEx(2196,0,nil,pchar(wind_name));
if button_handle=0 then
begin
result:=false;
exit;
end;
SendMessage(Handle1,WM_GETTEXT,0,0);



 
Anatoly P   (2002-10-12 18:46) [4]

buff : array[0..127] of char;

GetWindowText(Handle1,buff,sizeof(buff));

Попробуй, если не то , то не знаю


 
ZrenBy ©   (2002-10-12 18:47) [5]

var sStr:String[255];

SendMessage(Handle1,WM_GETTEXT,254,PChar(@sStr[0]));

или @sStr[1] - не помню уже, но вроде 0


 
borg   (2002-10-12 19:20) [6]

>>Anatoly P
Получилось:-), но последний вопрос, массив размером [127], а
в Edite всего 4 символа(но в другой момент может быть хоть сколько) и все не дастоюшие символы заполяются от фонаря, как этого избежать.


 
Shrek ©   (2002-10-12 20:08) [7]

var arr: array [1..$FF] of pChar;
Text: string;
SendMessage(handle, WM_GETTEXT, SizeOf(Arr), Integer(@Arr));

Text := @Arr;


 
Anatoly P   (2002-10-12 22:30) [8]

Это я для примера - а вообще используй динамические массивы

buff : array of char;

а далее - setlength(buff,NewLength);

NewLength - любое целое число


 
Юрий Зотов ©   (2002-10-12 23:57) [9]

Не проверял, но должно работать.

function GetWndText(Wnd: HWND; MaxLength: integer): string;
var
Buff: array of char;
begin
SetLength(Buff, MaxLength + 1);
try
SetString(Result, Buff,
SendMessage(Wnd, WM_GETTEXT, SizeOf(Buff), @Buff[0]))
finally
Buff := nil
end
end;

И вопрос - почему Вы используете числовые константы? Разве хэндлы окон программы не меняются при каждом ее новом запуске?



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

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

Наверх




Память: 0.48 MB
Время: 0.019 c
4-78709
DNSokol
2002-09-11 11:18
2002.10.24
Трабл с ADO.


3-78245
explorer
2002-10-02 12:24
2002.10.24
FastReport и Query


3-78276
Борис
2002-09-28 14:02
2002.10.24
Появляются файлы _qsq1.db и так далее в корне


7-78700
bob1906
2002-08-13 21:53
2002.10.24
Как объеденить два exe - файла в один, exe+exe=exe


3-78285
HNN
2002-10-02 19:04
2002.10.24
Descending