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

Вниз

Текс контрола другого приложения   Найти похожие ветки 

 
Ярослав   (2005-04-21 12:58) [0]

Подскажите можно ли получить текст контрола из другого приложения, например надпись из Edit-а, а вообще мне надо текст из ячейки DBGrid-а, это возможно?


 
ANB ©   (2005-04-21 13:33) [1]

Да. Из DBGrid - проблематично и не всегда (если только распознавание не юзать).


 
Ярослав   (2005-04-21 14:13) [2]

Ладно а как мне например эмулировать нажание кливиши или сочитания в другом приложении?


 
ANB ©   (2005-04-21 14:47) [3]

WM_KEYDOWN, WM_KEYCHAR, WM_KEYUP. Полазь по форуму, я выкладывал исходник, только там есть другая проблема - с русскими буквами. Ты чего пишешь ?


 
Ярослав   (2005-04-21 14:52) [4]

Да мне русские буквы не нужны. Мне бы установить фокус на контрол, выделить текс и нажать Ctrl+C.
Есть база данных в неизвестном формате (*.WM) и приложение с ней работающие, а мне нужны эти данные. Вот я и хочу эти данные как нибудь выдрать от туда. Вот решил уже так как если бы это я сам жал на кнопки и по одной капировал бы их в буфер обмена, только я хочу чтобы это программа за меня сделала, а то я за неделю не управлюсь.


 
ANB ©   (2005-04-21 15:07) [5]

А руками получается ? (Только клавой ?) Для копирования в буфер можно не Ctrl+C, есть функция специальная. Я поищу.


 
ANB ©   (2005-04-21 15:24) [6]

Вот так работает достать текст из контрола :

var sText : String;
. . .
Size := SendMessage(hControl, EM_LINELENGTH, 0, 0);
SetLength(sText, Size);
TextLen := @sText[1];
TextLen^ := Size;
Size := SendMessage(hControl, EM_GETLINE, 0, LongWord(PChar(sText)));
SetLength(sText, Size);


 
Ярослав   (2005-04-22 05:53) [7]

А что такое:
Size
TextLen
Ну Size можно предположить Integer, а TextLen как описать


 
ANB ©   (2005-04-22 09:14) [8]


var hControl : Integer;
   Size : Integer;
   sText : String;
   TextLen : ^Word;
begin
Size := SendMessage(hControl, EM_LINELENGTH, 0, 0);
SetLength(sText, Size);
TextLen := @sText[1];
TextLen^ := LoWord(Size);
Size := SendMessage(hControl, EM_GETLINE, 0, LongWord(PChar(sText)));
SetLength(sText, Size);
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.048 c
3-1115369119
DelphiN!
2005-05-06 12:45
2005.06.14
Создание в FastReport отчета по таблице неизвесной структуры


14-1116755818
Igorek
2005-05-22 13:56
2005.06.14
Воскресный флэшовый квест :8-)


14-1116326649
Андрей Жук
2005-05-17 14:44
2005.06.14
Free Pascal 2.0


3-1115277422
Dels
2005-05-05 11:17
2005.06.14
Компонент DBMemo в Windows XP


1-1117259766
sofs
2005-05-28 09:56
2005.06.14
Проблема