Главная страница
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.028 c
6-1111941558
ALex_2000
2005-03-27 20:39
2005.06.14
DataSnap (Socketconection)


3-1115359515
СержК
2005-05-06 10:05
2005.06.14
Как переместить указатель в DBLookupComboBox на первую запись


4-1114382085
Кайфолом
2005-04-25 02:34
2005.06.14
Как обработать системные сообщения Формы ?


1-1116934243
ANB
2005-05-24 15:30
2005.06.14
Что такое "Объекты GDI" в диспетчере задач ?


8-1109602992
Expl
2005-02-28 18:03
2005.06.14
Работа с TPaintBox...