
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
18.06.2006, 20:23
|
|||
|---|---|---|---|
|
|||
PeekMessage |
|||
|
#18+
Основной цикл программы: [quote] while(TRUE) { // test if there is a message in queue, if so get it if (PeekMessage(&msg,NULL,0,0,PM_REMOVE)) { // translate any accelerator keys TranslateMessage(&msg); // send the message to the window proc DispatchMessage(&msg); } // end if } // end while [/quote] Я думаю, что таким образом из очереди событий изымается только одно событие и оно же обрабатывается, верно? Тогда если за один цикл событий приходит больше чем одно, то очередь будет просто заваленна событиями, что вовсе не гуд. Я прав? И ещё: события окну могут посылаться двумя способами: SendMessage и PostMessage. Если какая-то гадина пошлёт окошку событие SendMessage'эм, то программа прекратит делать то, что она делала, срочно обработает событие и продолжит делать то, что делала? А если послать два SendMessage'а подряд, при чём так, что второй придёт тогда, когда будет обрабатываться первый, то программа прекратит обрабатывать первый мэссэдж, начнёт обрабатывать второй, а когда закончит, продолжит обрабатывать первый? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&mobile=1&tid=2030991]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
148ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
19ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 400ms |

| 0 / 0 |
