IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Правильный WM_LButtonClick
Unconnected
сообщение 19.06.2011 15:13
Сообщение #1


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


Как правильно отправить кнопке клик мыши? Делал традиционно так:
Procedure clickng(w:THandle);
begin
SendMessage(w, WM_LButtonDown, 1, 1);
SendMessage(w, WM_LButtonUP, 1, 1);
end;


за 1-3 параметры уверен, а вот 4й - в msdn написано, что там должна быть структура с координатами курсора, а везде в сети там тупо 0 или 1, но я подозреваю, что это очередной ГК.. хотя раньше всегда так же делал, ну вот сейчас опять работает как-то непонятно и через раз.


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
IUnknown
сообщение 20.06.2011 12:29
Сообщение #2


a.k.a. volvo877
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской

Репутация: -  627  +


Цитата
посмотрите, может не так делаю чего..
Угу... Все не так... Не надо делать этот ужасный цикл длительностью до 50 секунд. Проверил один раз - нет на экране подходящего окна - все, устанавливай хук. Глобальный. На HCBT_CREATEWND. Там проверяй заголовок создаваемого окна, и если он - тот, что нужен, то работай дальше (дождись появления окна на экране и пошли ему Enter, если кнопка, которую ты пытаешься нажать - дефолтная, а в большинстве случаев это так - то она и нажмется. Если не дефолтная - то надо будет искать).

На данный момент у меня твой код не работает. По одной простой причине:
  if pos(fn,sp)>0 then begin // Ищем заголовок
, если учесть, что в fn находится заголовок, НЕ приведенный к верхнему регистру, то программа даже теоретически не может отработать. Никогда (поскольку 'PrivatCom' и 'PRIVATCOM' - это очень уж разные вещи для компьютера). Либо ты показываешь не тот код, который работает, либо выдаешь желаемое за действительное...


Сообщение отредактировано: IUnknown - 20.06.2011 12:35
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Unconnected   Правильный WM_LButtonClick   19.06.2011 15:13
IUnknown   Опять "магические числа"? SendMessage(w...   19.06.2011 15:22
Unconnected   Проще, ну это для краткости) А xPos-yPos это искат...   19.06.2011 15:25
IUnknown   xPos и yPos - это координаты мыши (относительно кл...   19.06.2011 15:31
Unconnected   Проще, ну это для краткости) А xPos-yPos это искат...   19.06.2011 15:32
IUnknown   Это? The coordinate is relative to the upper-left ...   19.06.2011 15:34
Unconnected   Procedure clickng(w:THandle); var r,r2:TRect; ...   19.06.2011 16:00
IUnknown   Следи за руками: p:=r.TopLeft; ScreenToClient...   19.06.2011 16:17
Unconnected   O_o нажалось... я сначала примерно так же пробовал...   19.06.2011 16:33
Unconnected   deleted   20.06.2011 0:10
TarasBer   А тебе для чего посылать щелчок? Я когда таким обр...   20.06.2011 9:31
Unconnected   Ну, надо кнопку нажать.. или ещё как-то можно её н...   20.06.2011 11:53
TarasBer   Чтобы нажать кнопку, надо просто вызвать ту же про...   20.06.2011 12:07
Unconnected   Что-то новое.. и как её вызвать, тоже sendmessage ...   20.06.2011 12:15
IUnknown   Угу... Все не так... Не надо делать этот ужасный ц...   20.06.2011 12:29
Unconnected   Ооо нет, опять эти dll, мэппинг, затыки на пустом ...   20.06.2011 12:36
IUnknown   Да мне-то все равно, хоть вручную проверяй (показы...   20.06.2011 12:43
Unconnected   Хочу нормально, а с дллками связываться не хочу......   20.06.2011 12:58
TarasBer   > Что-то новое.. и как её вызвать, тоже sendmes...   20.06.2011 13:22
Unconnected   Если бы своего, то понятное дело не кликал бы так)...   20.06.2011 13:27
TarasBer   http://msdn.microsoft.com/en-us/library/ms645478(V...   20.06.2011 14:11
IUnknown   2 Unconnected: :) [code=pas]const sCaptionToF...   20.06.2011 16:43
Unconnected   Procedure clickng(w:THandle); begin postmessage(...   20.06.2011 16:45
IUnknown   Да ладно... Control window - это оно и есть, окно ...   20.06.2011 17:44
Unconnected   Ок, разделяю и властвую) То есть, Uppercase далеко...   21.06.2011 1:50
IUnknown   Это зависит от версии компилятора. По крайней мере...   21.06.2011 8:39
Unconnected   Ого, а у меня D7.. короче решил не заморачиваться,...   22.06.2011 1:13
skyjumping   так то оно так..   1.10.2012 19:17


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 16.06.2024 0:19
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"