Вобщем одна программа должна посылать сообщение о нажатии клавиши другой программе.
Что-то типа sendkey в Win.
Re: Можно ли эмулировать нажатие клавиши?
Posted: Fri Jun 27, 2008 11:20 pm
by Gluk
Нет, в Колибри такого нет.. можно посылать сообщения о нажатии кнопок в приложении, и клавиши мыши. хотя то что ты сапрашиваешь мне пригодилось бы весьма и весьма..
Re: Можно ли эмулировать нажатие клавиши?
Posted: Sat Jun 28, 2008 10:25 am
by Asper
Мне бы тоже пригодилось для моей программы "Экранная клавиатура". Хотелось бы конечно добавить новую функцию Kolibri, но не знаю как к этому отнесутся разработчики ядра. Все-таки, по-моему, эта функция будет влиять на безопасность системы.
Re: Можно ли эмулировать нажатие клавиши?
Posted: Sat Jun 28, 2008 12:26 pm
by Serge
В Колибри нет безопасности системы. Вообще.
Re: Можно ли эмулировать нажатие клавиши?
Posted: Sat Jun 28, 2008 1:59 pm
by Gluk
я тоже хотел бы написать это приложение.. будет хорошо сочетаться с mousEmul)
Re: Можно ли эмулировать нажатие клавиши?
Posted: Thu Jul 03, 2008 4:04 pm
by Asper
Тогда предлагаю добавить эту функцию. Прошу проголосовать.
Я не силен в асм, т.к. пишу в основном на С++, но общая идея такая:
1. В KEY_BUFF помещаем код нажатой клавиши
2. Посылаем через функцию proc send_event stdcall pid:dword, event:dword сообщение процессу о нажатии клавиши
Что-то вроде этого.
Re: Можно ли эмулировать нажатие клавиши?
Posted: Thu Jul 03, 2008 6:14 pm
by Gluk
это будет противоречить тому, что сообщения о нажатии (не горячих) клавиш получает только процесс с активным окном..
Re: Можно ли эмулировать нажатие клавиши?
Posted: Thu Jul 03, 2008 6:24 pm
by Asper
Ну что ж, в таком случае от PID готов отказаться.
Функция будет посылать сообщение процессу с активным окном CURRENT_TASK.
Спасибо Leency! То что надо! Скачал k_svn.803 и порывшись там немного действительно нашёл 72 функцию sys_sendwindowmsg. Документацию я к ней к сожалению не нашел (имеющаяся у меня дока заканчивается на 71 функции). Т.к. как я уже говорил в асме не силен, то хотелось бы чтобы кто-нибудь описал входные и выходные её параметры.