Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.014 c
14-78606
Sergey13
2002-10-01 11:20
2002.10.24
Как думаете - попрутся наши вояки в Грузию или нет?


3-78254
Gaber
2002-10-02 10:04
2002.10.24
Как лучше строить БД


14-78624
Человек
2002-10-03 16:11
2002.10.24
А как лучше производить оплату за продаваемые мною программы?


3-78278
Kaginava
2002-10-01 12:18
2002.10.24
IBEvents


14-78667
Nik8.
2002-10-05 09:10
2002.10.24
Nik8.Nik8.Nik8.Nik8.Nik8.Nik8.Nik8.Nik8.Nik8.Nik8.Nik8.Nik8.Nik8.




   Наверх