Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 01.05.2012, 02:31
Аватар для YVitaliy
YVitaliy YVitaliy вне форума
Местный
 
Регистрация: 14.12.2011
Сообщения: 481
Версия Delphi: Borland Delphi7
Репутация: 17
По умолчанию

Почему, Memo, Edit и тп. имеют собственный хэндл и отлавливаются ф-цией как отдельные окна, главное, чтобы они были на переднем плане. Форму прозрачной я делал через TransparentColor, тогда верхняя форма с точкой "пропускается". Иначе без хуков не обойтись.
Ответить с цитированием
  #17  
Старый 01.05.2012, 02:44
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Правильно, но прочитай внимательно первый топик. Ему нужно знать "имя" искомого дочернего окна и тогда: FindWindow, EnumChildWindow.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #18  
Старый 01.05.2012, 03:07
Аватар для YVitaliy
YVitaliy YVitaliy вне форума
Местный
 
Регистрация: 14.12.2011
Сообщения: 481
Версия Delphi: Borland Delphi7
Репутация: 17
По умолчанию

Цитата:
в поле на которое клацнул
- я это прочитал "Клаццнул" - кликнул мышью, локализовал, выбрал... Тоесть есть известное окно, в нем есть текстовое поле, в которое нужно передать текст...
Цитата:
При нажатии на кнопку отправляется сообщение...
- тоесть, кнопка в собственной программе/окне?
Цитата:
При "клацании" на кнопку, фокус с текстового поля снимается
- и вот это. ?.
Только мной описанный способ, никак иначе. Тем более, как я выше писал, это работает. Хэндл запоминаешь сначала, передача нажатия клавиши ENTER там сработает как отправка сообщения, а потом троллишь кого-то по скайпу или че там
З.Ы Да, вот оно:
Цитата:
Ну мне нужно чтоб при нажатии кнопки писалось сообщение в скайпе(в поле на которое клацнул)
Ответить с цитированием
  #19  
Старый 01.05.2012, 03:18
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Цитата:
Сообщение от YVitaliy
... Хэндл запоминаешь сначала...
Этого достаточно для дальнейшего поиска без использовании хуков. Но..., вольному воля.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #20  
Старый 01.05.2012, 03:25
Аватар для YVitaliy
YVitaliy YVitaliy вне форума
Местный
 
Регистрация: 14.12.2011
Сообщения: 481
Версия Delphi: Borland Delphi7
Репутация: 17
По умолчанию

Люблю спорить Но в том-то и дело, чтобы "запомнить" хэндл, нужно отловить клик по требуемом поле/окне? вот и нужно ставить хук или глобальный, или только на скайп этот или что там, далее ф-цией WindowFromPoint получать хэндл, и по "клацании" на пресловутую кнопку отправлять в это окно текст
Код:
SendMessage(хэндл, WM_SETTEXT, 0, integer(@текст[1]));
или как там?

Последний раз редактировалось YVitaliy, 28.08.2012 в 13:54.
Ответить с цитированием
  #21  
Старый 01.05.2012, 03:46
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Это, если каждый мышкой кликать и хендл искать, по мне так я бы один раз узнал имя окна, а потом по-накатанному.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #22  
Старый 01.05.2012, 03:57
Аватар для YVitaliy
YVitaliy YVitaliy вне форума
Местный
 
Регистрация: 14.12.2011
Сообщения: 481
Версия Delphi: Borland Delphi7
Репутация: 17
По умолчанию

С этого и надо было начинать! Действительно, если программа заранее известна, то можно и так. Скайп можно искать и по имени (там кажись первое слово в Caption окна всегда Skype). Согласен.
Но с полями ввода что тогда делать, как их искать? Мой способ - хоть какое-нибудь решение!
Ответить с цитированием
  #23  
Старый 01.05.2012, 10:29
icsander icsander вне форума
Новичок
 
Регистрация: 17.04.2011
Сообщения: 87
Репутация: 10
По умолчанию

Как вариант : окно с кнопкой (Params.ExStyle := Params.ExStyle or WS_EX_NOACTIVATE or WS_EX_TOPMOST. Фокус остается у окна скайпа. Клик по кнопке - эмуляция клавиатурного ввода.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:59.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025