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

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



Память: 0.46 MB
Время: 0.047 c
14-1116766960
SGoal
2005-05-22 17:02
2005.06.14
Иконки


11-1100426688
school
2004-11-14 13:04
2005.06.14
KOL и графика


3-1114185659
@k@DElpher
2005-04-22 20:00
2005.06.14
подсчёт кол-во в складской программе


1-1117278487
Bondar
2005-05-28 15:08
2005.06.14
function SearchParam


1-1117000756
Cash
2005-05-25 09:59
2005.06.14
Как правильно создать контрол из DLL




   Наверх