Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Predlegion
3 / 3 / 0
Регистрация: 21.01.2011
Сообщений: 27
#1

Отправка и обработка пользовательских сообщений - C++

09.10.2011, 01:54. Просмотров 877. Ответов 3
Метки нет (Все метки)

Задача стоит в том, чтобы выйти из CALLBACK'а с помощью сообщения.
Дело в том что вызов определенной функции в CALLBACK'е ведет к зависанию программы(потому что эта функция может стать предпосылкой этого самого CALLBACK'а).
Поэтому принято решение выходить из него с помощью SendMessage и выполнять все необходимые действия.

Но к сожалению, я никогда не сталкивался с посылкой и обработкой сообщений(особенно пользовательских) ,поэтому не знаю как его послать и обработать. Надеюсь на помощь форумчан по этому вопросу.Хотелось раз и навсегда с эти разобраться.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.10.2011, 01:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Отправка и обработка пользовательских сообщений (C++):

Обработка массивов данных с использование пользовательских функций - C++
Помогите пожалуйста не получается выполнить задание : 1.Консольный ввод/вывод вещественного массива размером 5*5. 2.Определение номера...

Обработка двумерного массива с использование пользовательских функций - C++
Помогите пожалуйста не могу понять в чем дело 1.Консольный ввод/вывод вещественного массива размером 5*5. 2.Определение номера первого...

Обработка исключений в классах для пользовательских типов - C++
Здорова господа! Запустил токо класс String тестю и тут у меня вылетело исключение выход за пределы индекса, и программа тупо аварийно...

отправка сообщений по TCP на одном компьютере - C++
Добрый день. Хочу сделать что то типа соединения клиент-сервер но на одном компьютере. Соответственно делаю соединение по адресу...

WinApi и обработка сообщений мыши - C++
Добрый вечер! Извините, если где-то уже есть такой вопрос - я не нашла. Я пишу программку типа Paint, и на данный момент возникла...

Обработка сообщений в win32 api - C++
Написал программу которая после ввода в поле edit текста exit и нажатия на кнопку выходит из программы, но почему то не работает. Вот...

3
OstapBender
584 / 523 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
09.10.2011, 02:55 #2
слишком размыто...
поясните на примере что вы хотите сделать.
покажите колбек функцию и вызывающую функцию.
0
Predlegion
3 / 3 / 0
Регистрация: 21.01.2011
Сообщений: 27
09.10.2011, 14:23  [ТС] #3
Мне не хотелось бы выкладывать много кода,тем более я понимаю как тяжело разбираться в чужом коде.

Что это за функции:

В моей программе идет работа со звуковой картой с помощью функций семейства waveInOpen(...),waveInStart(...) waveInAddBuffer(...) итд .
Так вот, когда буфер заполняется, вызывается этот CALLBACK,внутри которого идет обработка буфера звуковой карты. В одном из случев ,по окочанию этого CALLBACK необходимо вызвать функцию waveInReset() или waveInStop().
Но проблема заключается в том,что НЕЛЬЗЯ вызывать функции waveInReset() или waveInStop() из "тела" CALLBACK'а, потому что это ведет к зависанию программы(об этом написано в MSDN).

Но можно вызвать эту функцию из любого другого места,главное что не из CALLBACK.

Поэтому в теле CALLBACK нужно отправив сообщение. А затем ,в обработчике сообщений вызвать эти функции waveInReset() и waveInStop().

Но как отравить и обработать сообщение неизвестно.

Делаю:
C++
1
2
3
4
5
HWND hmes;
const int MY_MESS=WM_USER+1;
.....
.....
SendMessage(hmes,MY_MESS,0,0)ж
а как написать обработчик сообщения не знаю. И вообще не уверен,что правильно отправляю.
0
OstapBender
584 / 523 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
09.10.2011, 16:49 #4
посмотри
http://vsokovikov.narod.ru/New_MSDN_...ostmessage.htm
может поможет?
0
09.10.2011, 16:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.10.2011, 16:49
Привет! Вот еще темы с ответами:

Создание пользовательских типов - C++
помогите пожалуйста написать программу. (необходимо написать с применением операторов "printf/scanf"); Сведения об экзамене содержат...

Преобразование пользовательских типов - C++
Здравствуйте. Помогите с одним вопросом, это пример из книги Лафоре ООП С++, не могу разобраться как работают функции int getHrs() const ...

Создание пользовательских функций - C++
Необходимо реализовать программный код, позволяющий найти решение следующей задачи. Для х, изменяющегося от a до b (интервал указан в...

Создание пользовательских функций - C++
Необходимо реализовать программный код, позволяющий найти решение задачи получения несократимой дроби. Помогите люди!!!!!))


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru