Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 1 823

/ вопрос открыт /

Здравствуйте!
Использую ExitWindowsEx(EWX_LOGOFF , 0). Привелегии даны и всё работает. В это режиме (смена пользователя) компьютер ожидает ввода нового пользователя. На это может уходить несколько минут. Недостаток в том, что в этом случае останавливаются и часть сервисов с системной учётной записью. Вопрос в том, существует ли параметры ExitWindowsEx() , которые не посылают WM_QUERYENDSESSION и WM_ENDSESSION хотя бы , запущенным севисам?

Viktor_2 Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Viktor_2 (статус: Посетитель)
Вопрос отправлен: 18 августа 2008, 11:26
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Feniks

Здравствуйте, Viktor_2!
Да, есть такой - EWX_FORCE. Он не отправляет эти сообщения приложениям, а сразу тупа их вырубает. Но думаю это наврядли то, что вым нужно. А так, что бы выйти из профиля и при этом не закрывать процессы и программы, которые были запущены в нем, думаю, не получится.
Что бы процессы оставались, они должны быть системными службами или должны быть запущены от имени системной учетной записи.
Возможно у вас есть какие-то трения в этих службах.
А не пробовали в их свойствах указывать от какого имени их стартовать ?

P.S. Желаю удачи.

Ответ отправил: Feniks (статус: Бакалавр)
Время отправки: 18 августа 2008, 17:38


Мини-форум вопроса

Всего сообщений: 8; последнее сообщение — 21 августа 2008, 07:19; участников в обсуждении: 3.
Viktor_2

Viktor_2 (статус: Посетитель), 18 августа 2008, 19:31 [#1]:

Вроде сервисы запущены с системной учётной записью.
Да и вот ещё вопрос один волнует. Когда заходишь в windows перед вводом пароля все эти службы уже запущены и работают. Но стоит только перейти в режим смены пользователя, - некоторые завершаются. Хотя и для того и другого режима статус пользователя - до ввода пароля не определён(правильней будет -System). Да ладно, придётся искать другие варианты. В принципе, мне нужно вызвать диалог смены пользователя, но при этом оставить загруженные все процессы. Может натолкнёте на мысль?
Вадим К

Вадим К (статус: Академик), 18 августа 2008, 19:43 [#2]:

А может подскажете, зачем такая цель преследуется? если уж вы хотите показать диалог выбора пользователей, то если не запущена служба быстрого переключения пользователей, прийдётся завершить сеанс.
Некоторые службы следят за текущим сеансом и соответсвенно тоже могут завершать свою работу. Обычно это делается специально, так как их работа без пользователя часто просто безсмысленна.
Галочка "подтверждения прочтения" - вселенское зло.
Viktor_2

Viktor_2 (статус: Посетитель), 19 августа 2008, 08:26 [#3]:

Хотел немного упростить схему перерыва в работе в отличии от традиционной через CTRL+ALT+DEL.
При необходимости запускаю ехе-шник, который устанавливает новый пароль (алгоритм известен только мне), далее возможны два варианта - либо заблокировать через LockWorkStation, либо предложить диалог смены пользователя. Первый вариант не проходит потому, что для разблокировки действительны и старый и новый пароль (так и не смог выяснить, почему), ну а второй, как видите, тоже не проходит по причине завершения некоторый служб.
Feniks

Feniks (статус: Бакалавр), 19 августа 2008, 10:08 [#4]:

Старые и новые пароли у вас работают, т.к. сама Винда по умолчанию их кеширует. А вы, как я понял, после логона под старым потом меняете своей прогой на новый пароль. Вот Винда и помнит их. Управление паролями можно настроить в локальных групповых политиках. Для этого надо запустить gpedit.exe. Если же машина в домене, то это уже доменные политики на серваке.
ИМХО, лучше лочить станцию, чем давать возможность еще кому-то логониться. К тому же есть проги которые этого не любят и в таком режиме не могут работать - только в одной учетной записи запускаются.
Вадим К

Вадим К (статус: Академик), 19 августа 2008, 23:12 [#5]:

Странные у вас запросы, Viktor_2. Вы никогда не пробовали лочить "рабочую станцию" через нажатие Win+L. Попробуйте, понравиться.
Или вы просто не можете сменить на свой аккаунт пароль и хотите таким образом защититься? А сменить не получается, так как запретил администратор. Внесу немного ясности.
Если другой пользователь с правами администратора залогиниться, то он может завершить вашу программу через диспетчер задач. Это очень просто.
С другой стороны, ничего не мешает ему завершить сеанс. Даже не надо входить под ним.
Галочка "подтверждения прочтения" - вселенское зло.
Viktor_2

Viktor_2 (статус: Посетитель), 20 августа 2008, 08:19 [#6]:

2 Вадим К :
Просто, по роду своей деятельности иногда разрешаю пользоваться своей станцией определённому кругу людей, даже без моего присутствия. Но как воспитанный человек, прежде чем пользоваться чужой вещью, я обычно ставлю в известность владельца. И хочу чтобы так поступали со мной. Для таких целей это и сделано. А для самых "продвинутых"(то бишь "очччень умных"), запущены два варианта одной задачи, которые контролируют друг друга. Мало того, что они работают в разных сегментах операционной системы, их нужно найти , и оба прибить одновременно. НУУУУ, очень трудно!! Это для меня не столько профессиональная задача, сколько результат хобби.
А с Win+L попробую. Спасибо за совет.
Вадим К

Вадим К (статус: Академик), 20 августа 2008, 23:54 [#7]:

"В разных сегментах операционной системы":) во люди дают.
Вы либо не понимаете, о чем говорите, либо хотите показаться слишком умным. Называйте всё своими именами.
Программа банально сообщает о кол-ве отработаного времени?
Галочка "подтверждения прочтения" - вселенское зло.
Viktor_2

Viktor_2 (статус: Посетитель), 21 августа 2008, 07:19 [#8]:

"Вы либо не понимаете, о чем говорите, либо хотите показаться слишком умным." - Это в принципе одно и то же. Нормальная характеристика !!!

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:45
Выполнено за 0.03 сек.