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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.007 c
14-78587
Delirium
2002-10-01 15:08
2002.10.24
Дайте ссылку на фотки с последней встречи в Москве


1-78350
mas_alexey
2002-10-14 17:56
2002.10.24
Listox


1-78505
Alex_12
2002-10-13 17:10
2002.10.24
Про StringGrid


3-78260
Nikitenko
2002-10-02 11:10
2002.10.24
ADO


14-78655
sancho
2002-10-04 21:38
2002.10.24
Help для RxLib





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский