Форум: "WinAPI";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
ВнизКак заставить нормально работать delphi- сервис при log of и on Найти похожие ветки
← →
igornov (2003-11-13 16:22) [0]Hi All!
Помогите побороть проблему.
Написал на делфи сервис который периодически обновляет с сетевого ресурса конфигурационные файлы и реестр на локальных машинах. Кроме того он следит за одним процессом клиентского приложения и анализирует его на предмет простоев. Если время простоев превышает допустимое то приложение завершается.Для подсчёта простоев я запускаю этот сервис под системной учётной записью и с доступом к рабочему столу. Периодически перебираю все доступные окна где по заголовку ищу окно требуемого приложения. Потом нахожу связанный с этим окном процесс и беру его Kernel time+User Time. Вот так и считаю простои. Можно конечно было сразу искать процесс по имени, но это приложение могут запускать в тестовом режиме и тогда я не должен его трогать. Режим виден только по заголовку окна.
Кроме этого на базе этого сервиса реализована некая служба сообщений (mailslot). Обновление конфигурации делается по одному таймеру. Подсчёт простоев по другому. Всё прекрасно работает до тех пор пока пользователь не меняет профиль. Как только он меняет профиль - сервис вываливает (не всегда но часто) сообщение об ошибке типа "Память по адресу такому-то не может быть read". После этого падают все таймеры (обновление конфигурации и подсчёт простоев не работают), а остаётся рабочей только служба сообщений (то есть сдыхает не полностью).
Теперь вопрос: чего из выше описанного я не должен делать в момент закрытия рабочего стола юзера? Какие процессы происходят при этом в Windows и как на это должен реагировать мой сервис чтобы не делать ошибок?
Заранее благодарен за любую помощь.
С ув. Игорь Новосёлов
E-mail: igorn@ingok.com.ua
← →
igornov (2003-11-25 10:45) [1]Удалено модератором
Примечание: Создание пустых сообщений
← →
Digitman (2003-11-25 12:04) [2]
> ошибке типа "Память по адресу такому-то не может быть read".
>
не "типа", а тебе конкретно (!!) сообщается, кто, инструкцией по какому адресу пытается получить доступ по чтению по такому-то адресу, в то время как прав на то у "читающей" инструкции нет.
это ж не Пушкину адресовано, а тебе ) ... для анализа причин возникновения ситуации, а не для "типа")
выясни любым удобным способом, пр выполнении какой строчки возникает это исключение, приводи соотв.фрагмент кода, тогда и разговор детальный будет
← →
igornov (2003-11-28 10:05) [3]Интересно а каким способом можно отладить сервис в момент закрытия всех окон включая и окна отладчика?
← →
Digitman (2003-11-28 10:19) [4]LogMessage() на что ?
расставляй эти "ловушки" в сомнительных местах
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.036 c