Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Delphi > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 10.08.2008, 16:39   #1
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию Вставка текста в активное поле

Доброго времени суток!!!
В общем, имеетсо чужой edit или memo, в общем поле.
Оно щас активно (в нём мигает курсор).
Как мне программно запихнуть туда текст, не эмулируя клавы(не печатая прогаммно)?
Респект всем просветившим!
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Старый 10.08.2008, 19:32   #2
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Код:
var
  h,sh: HWND;
begin
  h:=FindWindow('Класс','Заголовок'); //Ищем окно программы
  sh:=FindWindowEx(h,0,'Класс','Заголовок'); //Ищем дочернее окно Edit или Memo
  SendMessage(sh,WM_SETTEXT,0,LParam(PChar('Мой текст'))); //Пишем туда текст
Например, впихнем текст в Блокнот
Код:
  h:=FindWindow('Notepad',nil);
  sh:=FindWindowEx(h,0,'Edit',nil);
  SendMessage(sh,WM_SETTEXT,0,LParam(PChar('Мой текст')));
_Dmitry вне форума Ответить с цитированием
Старый 10.08.2008, 23:40   #3
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию

Спс конечно, но это не то.
Как вставить текст я знаю, проблема в том, куда его вставить? То есть как узнать как зовут активное поле (в котором курсор)?
Через обычный набор не хоцца, это же следитьсо.
Ну ты в общем понял, зачем это.
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Старый 11.08.2008, 11:57   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Цитата:
То есть как узнать как зовут активное поле (в котором курсор)?
Ну ты имеешь ввиду получить класс активного окна (контрола)?
Ну дык типа такого:
Код:
var s:pchar
getmem(s,100);
GetClassName(GetActiveWindow,s,100)
Stilet вне форума Ответить с цитированием
Старый 11.08.2008, 12:11   #5
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Или с помощью специальных программ.
Я пользуюсь этой http://inqsoft.xss.ru/iws.html
_Dmitry вне форума Ответить с цитированием
Старый 11.08.2008, 15:52   #6
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию

Цитата:
Или с помощью специальных программ.
Я пользуюсь этой http://inqsoft.xss.ru/iws.html
Эта прога у меня уже год как стоит, классная))) лучшего оконного шпайона я не видел)))
Цитата:
var s: pchar
getmem(s,100);
GetClassName(GetActiveWindow,s,100)
Спасибо, но почемуто последняя функция возвращает integer
А GetActiveWindow - это типа хендл активного окна?
А как найти активное поле в этом окне активном???
Вроде и соображаю стабильно, но тут вьехать немогу
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Старый 11.08.2008, 18:11   #7
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,230
Сообщение

Наверно типа этого надо:
Вложения
Тип файла: rar Перехват текста(активного окна).rar (186.4 Кб, 45 просмотров)
Alter вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вставка в поле Edit EVO-X Общие вопросы Delphi 10 11.07.2008 22:25
Вставка текста в memo Revan Общие вопросы Delphi 2 23.05.2008 17:45
Вставка текста Pedro Общие вопросы Delphi 4 27.01.2008 11:27
! Вставка текста ! ♠STO♠ Общие вопросы Delphi 2 30.08.2007 17:05
Вставка записи в поле графического типа Bibigul БД в Delphi 3 10.04.2007 16:07


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS