как заставить программу не выгружаться из памяти и работать дальше?
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



как заставить программу не выгружаться из... Expand / Collapse
Автор
Сообщение
11.07.2001 20:09
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 23.10.2000 6:17
Сообщ.: 90, Visits: 991
Возьмем банальный пример клавиатурный шпион или чтонить в этом роде...
Проект Win32 application
я разместил в конце ВинМайн цикл стандартный сообщений...
в принципе это сработало, но учитывая то что я не могу отправить своей программе ни одного сообщения(т.к.. нет HWND), то закрадывается мысль что я делаю что то не так, как принято...

что нужно сделать чтобы программа не выгружалась из памяти и продолжала свою работу (например отслеживание состояния клавиатуры с помощю таймера)???

зарание благодарен NetMinion
Сообщ. #715910
11.07.2001 22:21
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme 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);
}
}
...

Удачи
Сообщ. #715924
11.07.2001 22:51
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 23.10.2000 6:17
Сообщ.: 90, Visits: 991
я в принципе так и зделал..
но я не могу послать программе не одного сообщения с помощю SendMessage or PostMessage..
она просто их не обрабатывает...
тк нет ни одного окна, то оператор DispatchMessage(&msg); просто бесполезен.. куда он переправит сообщение? никуда(окон нет) (в отличие от примера в Wizard`e)

и вообще складывается впечатление что там многовато лишнего...
вот и встает вопрос, как сделать правильно???

да и потом, как объяснить программе что это сообщение именно для нее??

да, еще одно...
когда отслеживаешь программу и ставишь BreackPoint в самом цикле, он не разу не срабатывает!... (а когда есть окна работает постоянно)

вот такая вот проблемка(((( и по большому счету, хрен бы с ним, работает же, просто я думаю что есть возможность сделать более быстрый и ПРАВИЛЬНЫЙ! код....
заранее благодарен за ответы...
Сообщ. #715927
12.07.2001 10:51
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

модератор
Last Login: 10.11.2008 0:08
Сообщ.: 1 298, Visits: 12 501
Ну да, процессоры слишком быстрые стали выпускать, вот и приходится всем производителям OS выкручиваться - циклы задержки вставлять, где поменьше, а где и побольше, чтобы у пользователя впечатление работы создавалось, а иначе какая это операционная система ;)
А насчет обработки внешних сообщений не знаю, можешь попробовать использовать мутексы или как их там...

Удачи!
Сообщ. #715979
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 12:37