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

Вниз

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

 
Ярослав   (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 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.031 c
1-1117098714
VVD
2005-05-26 13:11
2005.06.14
E-Mail -> SMS


1-1117230205
Аск1
2005-05-28 01:43
2005.06.14
Нет ли DBX SDK for Outlook Express но на Дельфи ?


1-1117024248
Karlson
2005-05-25 16:30
2005.06.14
Картинки для BitBtn


1-1117365248
Rembo
2005-05-29 15:14
2005.06.14
Печать содержимого TStringgrid


1-1117469965
Alena
2005-05-30 20:19
2005.06.14
Компонент StringGrid





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