Форум: "WinAPI";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
ВнизКак завершить работу приложения Найти похожие ветки
← →
stasSSW (2003-12-30 23:14) [0]Приложение должно работать постоянно: сканировать директорию на предмет появления файлов по определенной маске и выдавать сигналы при их появлении. Как оформить приложение, чтобы в какой-то момент времени (не всегда постоянный) приложению можно было передать какой-то сигнал или событие, чтобы оно завершило работу? Заранее спасибо, мастерам.
← →
jack128 © (2003-12-31 00:29) [1]Основной поток имеет цикл обработки сообщений? Если, да то пошли ему WM_QUIT..
← →
stasSSW (2003-12-31 13:43) [2]jack128, не предполагалось, но если нет другого варианта, то придется сделать. Спасибо
← →
kostik (2004-02-06 11:55) [3]Пошли на хэндл главного окна этого приложения сообщение WM_CLOSE
SendMessage(hWnd,WM_CLOSE,0,0);
hWnd - определяется с помощью FindWindow(nil,заголовок окна);
← →
jack128 © (2004-02-06 13:01) [4]
> stasSSW (31.12.03 13:43) [2]
ну тогда можно использовать объекты синхронизации (Events, например)
← →
Suntechnic © (2004-02-07 09:05) [5]Дополню jack128 © (06.02.04 13:01) [4].
Чтобы обойтись без цикла сообщений создаёшь объект межпроцессорной синхронизации (например, как здесь уже советовали, Event) и, как я понимаю, используешь FindFirstChangeNotification(FindNextChangeNotification). Далее оба хэндла используешь в ф-ции WaitForMultipleObjects с 3-им параметром false. При переходе одного из этих объектов в signaled состояние выполнение потока возобновиться. Что именно произошло (либо действия с файлами либо команда извне о завершении) можно узнать анализируя возвращаемое ф-цией значение (подробности в справке).
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.05 c