Генерация сообщений
А чем плох SendMessage(hwnd,Msg,LParam,WParam)?, например эмуляция нажатия кнопочки мышки:
По-моему так.
SendMessage(hWnd,WM_MOUSEDOWN,MAKELPARAM(x,yMAKEWPARAM(ShiftState,ButtonState
По-моему так.
Есть еще PostMessage - отличается от SendMessage тем, что SendMessage ставит сообщение в конец очереди сообщений, а PostMessage - в начало
Все бы хорошо, но меня смущает необходимость указания дескриптора окна, которому отсылается сообщение. В моем случае он неизвестен. Вроде бы выходом может служить HWND_BROADCAST... Но тоже не совсем хорошо. Если все запущенные программы получат это сообщение, то это не есть хорошо. Нужно чтобы получала та, у которой окно в данный момент поверх всех.
Ну да ладно. В любом случае огромное спасибо!
Ну да ладно. В любом случае огромное спасибо!
Есть способы узнать дескриптор самого верхнего окна. как-то ведь WinSight это делает?
Наверное есть. Вот ищу... 

>Есть еще PostMessage - отличается от SendMessage тем, что SendMessage ставит сообщение в конец очереди сообщений, а PostMessage - в начало
неправильно
гоу читать маны
неправильно
гоу читать маны
Напипши что вообще нужно сделать
Наверняка есть простой способ
Наверняка есть простой способ
Вообще? Гы-гы... Общая цель такова - управлять компом без помощи мышки и клавы, например голосом или взглядом. Распознавать речь или определять направление взгляда можно сказать умеем. Как при этом перемещать курсор (опять-таки без всех этих привычных девайсов я знаю. Осталось только "щелкнуть". Т.е. сгенерить сообщение о щелчке, не нажимая при этом кнопки. При этом, очевидно, сообщение должно уходить к самому верхнему окну, а не ко всем открытым.
Интересно, насколько понятнее все стало?..
Интересно, насколько понятнее все стало?..
>Вообще? Гы-гы... Общая цель такова - управлять компом без помощи мышки и клавы, например голосом или взглядом.
Мечты, мечты...
>Распознавать речь или определять направление взгляда можно сказать умеем.
Мда... решили все мировые проблемы, но запарились с какой-то ерундой
>Как при этом перемещать курсор (опять-таки без всех этих привычных девайсов я знаю. Осталось только "щелкнуть". Т.е. сгенерить сообщение о щелчке, не нажимая при этом кнопки. При этом, очевидно, сообщение должно уходить к самому верхнему окну, а не ко всем открытым.
Интересно, насколько понятнее все стало?..
ИМХО если по делать по уму, то надо писать "драйвер мыши", который на самом деле будет не с мышью ботать, а с вашим магическим интерфейсом
А если в таком ключе, как выше, посмотри, например, GetForegroundWindow
Только все равно это неправильно, потому что мышью можно и вне активного окна ткнуть
Мечты, мечты...
>Распознавать речь или определять направление взгляда можно сказать умеем.
Мда... решили все мировые проблемы, но запарились с какой-то ерундой
>Как при этом перемещать курсор (опять-таки без всех этих привычных девайсов я знаю. Осталось только "щелкнуть". Т.е. сгенерить сообщение о щелчке, не нажимая при этом кнопки. При этом, очевидно, сообщение должно уходить к самому верхнему окну, а не ко всем открытым.
Интересно, насколько понятнее все стало?..
ИМХО если по делать по уму, то надо писать "драйвер мыши", который на самом деле будет не с мышью ботать, а с вашим магическим интерфейсом
А если в таком ключе, как выше, посмотри, например, GetForegroundWindow
Только все равно это неправильно, потому что мышью можно и вне активного окна ткнуть
"Мечты, мечты... Мда... решили все мировые проблемы, но запарились с какой-то ерундой". Ну тут я с тобой спорить не буду, просто не хочу. Не веришь в силу разума - твои проблемы.
"...мышью можно и вне активного окна ткнуть". Совершенно верно. Вот Маздай-то как-то ловит это! И я хочу!
"...мышью можно и вне активного окна ткнуть". Совершенно верно. Вот Маздай-то как-то ловит это! И я хочу!
> Вот Маздай-то как-то ловит это! И я хочу!
Уж не методом ли перебора он это ловит?
IMHO pk прав - самое правильное решение - накатать драйвер.
Уж не методом ли перебора он это ловит?
IMHO pk прав - самое правильное решение - накатать драйвер.
Ну что ж, спасибо!
Дело за малым - научиться драйвера катать.
Дело за малым - научиться драйвера катать.

DDK в зубы и вперёд.
Надеюсь что Windows 95 нет в списке поддерживаемых платформ.
Надеюсь что Windows 95 нет в списке поддерживаемых платформ.
В DDK даже вроде какие-то примеры-заготовки для мышиных драйверов есть
2Anonymous
а у тебя случаем нет доков по писанию драйверов под Вин (NT/2k)
доки из DDK не считаются
2Anonymous
а у тебя случаем нет доков по писанию драйверов под Вин (NT/2k)
доки из DDK не считаются
А где взять этот DDK? В MSDN-то его нету? Или я опять плохо искал?
> а у тебя случаем нет доков по писанию драйверов под Вин (NT/2k)
Неа.
Мне вроде и DDK хватает + сырцы из инета + плюс списки рассылки типа ntdev.
Неа.
Мне вроде и DDK хватает + сырцы из инета + плюс списки рассылки типа ntdev.
Спасибо! 
а ::EnumChildWindows, ::EnumWindows и иже с ними - не то, что хочется?
Оставить комментарий
vikusik73
Господа программеры под Виндовззз.Может кто-нибудь знает, как самому генерировать сообщения? Я имею ввиду сообщения от мыши, клавиатуры и т.д. - WM_LBUTTONDOWN, WM_LBUTTONDBLCLK и проч. Т.е. чтоб это сообщения генерировалось не только по нажатию кнопки или двойному щелчку, а по какому-то определенному мной действию.
В MSDN'е я уже покопался - пока без результата.