Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обработка "искусственных" событий, придумал себе геморой 
:(
    Опции темы
Ламо
Дата 8.1.2007, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 27.12.2006

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



Доброго времени суток, господа!
Суть проблемы в следующем:
Есть желание изобразить в отдельном потоке что-то типа цикла обработки сообщений с функцией обработки этих самых сообщений соответственно (типа как в WinAPI). Мне это все представляется как проверка "очереди" в бесконечном цикле и вызов соответствующего обработчика с соответствующими же парпметрами. И вот отсюда начинают возникать вопросы...
1) следует ли вызывать этот самый обработчик также в новом потоке для предотвращения "заморозки" всей очереди сообщений? Или может уже в обработчикереагировать на события в разных потоках? Или еще как-то?
2) как организовать сам цикл, чтоб не переусердствовать с нагрузкой на проц.

+ еще связаный вопрос:
возможно ли организовать автоматический вызов события, т.е. не проверяя вручную условие для наступления этого события? Так, например, если в стриме появились данные для чтения, то вызвать какое-то событие.
Вот кажется и все.
Жду ваших мнений.
PM MAIL   Вверх
mr.DUDA
Дата 9.1.2007, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


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

Репутация: 110
Всего: 232



Если речь о своём приложении (т.е. события из своей проги), то поможет Application.AddMessageFilter в паре со своим объектом, реализующим интерфейс IMessageFilter. Если речь о перехвате сообщений из других окон системы, то копать нужно в сторону windows hook-ов (SetWindowsHookEx и т.п.), кое-какие примеры есть на http://www.codeproject.com и http://www.rsdn.ru 


--------------------
user posted image
PM MAIL WWW   Вверх
Ламо
Дата 9.1.2007, 00:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 27.12.2006

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



Спасибо. Речь идет о своем приложении. Для понятности скажу, что в данный момент это попытка слепить управляемый поток, т.е. ход выполнения которого будет управляться основным потоком приложения, в зависимости от действий юзера. Таким образом обработчик сообщений потока будет получать только ползовательские сообщения, и управляемый поток никогда не должен завершаться, а тупо ждать инструкций, пока не получит какой-нибудь MESSAGE_END. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




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


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

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