Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [VC++] Имитация нажатия кнопки в окне(чужом), Окно чужой программы и неактивное! 
:(
    Опции темы
MuForum
Дата 10.2.2008, 00:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 427
Регистрация: 13.6.2007
Где: Молдова, Кишинев

Репутация: нет
Всего: 4



Доброе время суток!

Интересует следующая проблема.

# Задача: Необходимо написать программу, которая будет передавать окну(чужому) сообщение о нажатие какой-то кнопке, и также о перемещение курсора. (Окно неактивно!)
- Одновременно, окно не должно становиться активным, и с глобальным курсором ничего происходить не должно!


Пример: Мне нужно окну(чужому) послать сообщение о нажатие правого клика мыши например, но окно в этот момент не активно! (handle окна я знаю)


P.S. -> Нам известен 'handle' окна. Команды 'Send/PostMessage' в данном случае не помогают, так как окно неактивное!


P.S. -> Я пробовал найти ответ на многочисленных Форумах, искал в поисковой системе http://www.google.com/, но результаты оказались отрицательные.

- Так же во время поисков я наткнулся на интересную статью с описанием WinApi функций: Функции работы с курсором
Цитата

* ClipCursor
* CopyCursor
* CreateCursor
* DestroyCursor
* GetClipCursor
* GetCursorPos
* SetCursorPos
* ShowCursor


Это сообщение отредактировал(а) MuForum - 10.2.2008, 00:39


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли)
PM MAIL WWW ICQ Skype MSN   Вверх
Damarus
Дата 10.2.2008, 02:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 671
Регистрация: 6.5.2006

Репутация: 6
Всего: 29



Цитата(MuForum @  10.2.2008,  00:23 Найти цитируемый пост)
P.S. -> Нам известен 'handle' окна. Команды 'Send/PostMessage' в данном случае не помогают, так как окно неактивное!

На основании чего сделан такой вывод? PostMessage вполне будет работать.
PM MAIL ICQ Jabber   Вверх
MuForum
Дата 10.2.2008, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 427
Регистрация: 13.6.2007
Где: Молдова, Кишинев

Репутация: нет
Всего: 4



Цитата(Damarus @ 10.2.2008,  02:16)
Цитата(MuForum @  10.2.2008,  00:23 Найти цитируемый пост)
P.S. -> Нам известен 'handle' окна. Команды 'Send/PostMessage' в данном случае не помогают, так как окно неактивное!

На основании чего сделан такой вывод? PostMessage вполне будет работать.

На основание опыта!
- На других программах всё нормально, а вот с окном игры такое не проходит.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли)
PM MAIL WWW ICQ Skype MSN   Вверх
_hunter
Дата 11.2.2008, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 5
Всего: 98



вполне возможно что в той программе (где-нить в цикле сообщений) просто стоит проверка на наличие у окна фокуса.
тогда тут никакие ухищрения при отправке не помогут...

но можно попробовать пойти другим путем: создать Desktop (CreateDesktop()/CreateDesktopEx()) и потом поназначать его всем потокам SetThreadDesktop(). И на том столе сделать программу активной...

Это сообщение отредактировал(а) _hunter - 11.2.2008, 11:58


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
dumb
Дата 17.2.2008, 01:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: нет
Всего: 158



Цитата(_hunter @  11.2.2008,  11:58 Найти цитируемый пост)
и потом поназначать его всем потокам SetThreadDesktop()

Цитата(msdn)
The SetThreadDesktop function will fail if the calling thread has any windows or hooks on its current desktop (unless the hDesktop parameter is a handle to the current desktop).

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0575 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.