Главная страница
    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
1-78398
bobr12
2002-10-15 12:50
2002.10.24
OLEcontainer+Excel


4-78743
Tihas
2002-09-07 17:48
2002.10.24
Помогите разабраться с вопросами, не проходите мимо.


4-78716
denisz
2002-09-11 22:00
2002.10.24
Список файлов


14-78591
AFrolov
2002-09-23 11:36
2002.10.24
про накопленную вычислительную погрешность.


3-78225
max2057
2002-10-01 16:19
2002.10.24
Отображение связанных данных из разных таблиц





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