Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.13;
Скачать: CL | DM;

Вниз

WM_QUIT   Найти похожие ветки 

 
GuAV ©   (2004-12-25 15:10) [0]

В MSDN про WM_QUIT написано:

Do not post the WM_QUIT message using the PostMessage function; use PostQuitMessage.

С чего бы это ? Почему нельзя PostThreadMessage(ThdID, WM_QUIT, 0, 0); ?


 
default ©   (2004-12-25 15:27) [1]

"Просмотрев очередь асинхронных сообщений, система, прежде чем перейти к проверке очереди виртуального ввода, проверяет флаг QS_QUIT Вспомните этот флаг устанавливается, когда поток вызывает PostQuitMessage. Вызов PostQuitMcssage дает примерно ют же эффект, что и вызов PostMessage, которая поме щает сообщение в конец очереди и тем самым заставляет обрабатывать его до про верки очереди ввода Так почему же PostQuitMessage устанавливает флаг вместо того, чтобы поместить WM_QUIT в очередь сообщений? На то есть две причины.

Во-первых, в условиях нехватки памяти может получиться так, что асинхронное сообщение нс удастся поместить в очередь Но, если приложение хочет завершиться, оно должно завершиться — тем более при нехватке памяти. Вторая причина в том, чго этот флаг позволяет потоку закончить обработку остальных асинхронных сооб щений до завершения его цикла выборки сообщений. Поэтому в следующем фрагмен

те кода сообщение WM_USER будет извлечено до WM_QUIT, даже если WM_USER асин хронно помещено в очередь после вызова PostQuitMessage.

case WM_CLOSE:

PostQuitMessage(0);
PostMessage(hwnd, WM_USER, 0, 0);"
Рихтер


 
default ©   (2004-12-25 15:34) [2]

"Вторая причина в том, чго этот флаг позволяет потоку закончить обработку остальных асинхронных сооб щений до завершения его цикла выборки сообщений. "
от себя добавлю - кроме того и синхронных тоже
вообще загляни в книгу там есть схема адгоритма выборки по ней всё просто понять


 
GuAV ©   (2004-12-25 17:08) [3]

cпасибо.



Страницы: 1 вся ветка

Текущий архив: 2005.02.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
1-1106830140
Карелин Артем
2005-01-27 15:49
2005.02.13
Как быстрее отловить завершение работы в Windows?


14-1106293312
X9
2005-01-21 10:41
2005.02.13
Подскажите электронный книжный магазин


3-1105986233
KristinA
2005-01-17 21:23
2005.02.13
Kak s4itat bazu dannih do togo kak form1 pojavitsja??


8-1098860000
Phantomouse
2004-10-27 10:53
2005.02.13
Обраотка картинки


3-1105802841
Mortal
2005-01-15 18:27
2005.02.13
Помогите с SQL запросом.