|
|
|
Supreme Being
      
участник
Last Login: 23.10.2000 6:17
Сообщ.: 90,
Visits: 991
|
|
Возьмем банальный пример клавиатурный шпион или чтонить в этом роде... Проект Win32 application я разместил в конце ВинМайн цикл стандартный сообщений... в принципе это сработало, но учитывая то что я не могу отправить своей программе ни одного сообщения(т.к.. нет HWND), то закрадывается мысль что я делаю что то не так, как принято...
что нужно сделать чтобы программа не выгружалась из памяти и продолжала свою работу (например отслеживание состояния клавиатуры с помощю таймера)???
зарание благодарен NetMinion
|
|
|
|
|
Supreme Being
      
модератор
Last Login: 10.11.2008 0:08
Сообщ.: 1 298,
Visits: 12 501
|
|
Зациклить ее! Что впрочем и сделано в примере, который создает Wizard: ... // Main message loop: while (GetMessage(&msg, NULL, 0, 0)) { if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } } ...
Удачи
|
|
|
|
|
Supreme Being
      
участник
Last Login: 23.10.2000 6:17
Сообщ.: 90,
Visits: 991
|
|
я в принципе так и зделал.. но я не могу послать программе не одного сообщения с помощю SendMessage or PostMessage.. она просто их не обрабатывает... тк нет ни одного окна, то оператор DispatchMessage(&msg); просто бесполезен.. куда он переправит сообщение? никуда(окон нет) (в отличие от примера в Wizard`e)
и вообще складывается впечатление что там многовато лишнего... вот и встает вопрос, как сделать правильно???
да и потом, как объяснить программе что это сообщение именно для нее??
да, еще одно... когда отслеживаешь программу и ставишь BreackPoint в самом цикле, он не разу не срабатывает!... (а когда есть окна работает постоянно)
вот такая вот проблемка(((( и по большому счету, хрен бы с ним, работает же, просто я думаю что есть возможность сделать более быстрый и ПРАВИЛЬНЫЙ! код.... заранее благодарен за ответы...
|
|
|
|
|
Supreme Being
      
модератор
Last Login: 10.11.2008 0:08
Сообщ.: 1 298,
Visits: 12 501
|
|
Ну да, процессоры слишком быстрые стали выпускать, вот и приходится всем производителям OS выкручиваться - циклы задержки вставлять, где поменьше, а где и побольше, чтобы у пользователя впечатление работы создавалось, а иначе какая это операционная система ;) А насчет обработки внешних сообщений не знаю, можешь попробовать использовать мутексы или как их там...
Удачи!
|
|
|
|