Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Shutdown компьютера.


Piter ©   (2005-11-02 16:36:00) 

Почему большинство программ не умеют делать Shutdown компьютера, если проводник находится в Logon заставке?

Например, FlashGet и пиринговая программа UKC++.

Ставишь галочку "Выключать компьютер после окончания скачки". Если находишься "под пользователем" - то все ок, выключается.
Если в Logon скрине - то функции не срабатывают.

В чем дело то? И можно как-нибудь вылечить?


fellix   (2005-11-03 10:06:00) [1]

> Lamer@fools.ua ©   (03.11.05 08:33) [17]

Вот пусть пользователь сам и выбирает (checkbox).


Lamer@fools.ua   (2005-11-03 08:33:00) [2]

>> fellix   (03.11.05 00:19) [16]

> Так вот, если система залочена, то обязательно нужно выставить EWX_FORCE флаг, иначе не сработает.

А потом схлопотать по интерфейсу от "благодарных" пользователей.


fellix   (2005-11-03 00:19:00) [3]

> Piter ©   (02.11.05 16:36)  
> Почему большинство программ не умеют делать Shutdown
> компьютера, если проводник находится в Logon заставке?

Некоторые умеют (Google search "powrclik").
Я так понял, Shutdown производится через ExitWindowsEx. Так вот, если система залочена, то обязательно нужно выставить EWX_FORCE флаг, иначе не сработает.


Eraser   (2005-11-02 22:11:00) [4]

Так программы и должны работать в залоченой станции, а вот выключить комп у них прав нету, т.к. в этот момент может быть активной другая workstation.


isasa   (2005-11-02 21:46:00) [5]

ReGet  из режима "Заблокировать станцию" работает(Flash-а у меня нет) - проверяй егонастройки. Там могут быть дополнительные опции (Когда свернут и т.п.)


Anatoly Podgoretsky   (2005-11-02 21:41:00) [6]

Piter ©   (02.11.05 20:20) [5]
Это и есть "залочена", для разблокировки надо ввести логин


Eraser   (2005-11-02 21:34:00) [7]


> Piter ©   (02.11.05 21:31) [11]


>  И что значит обычный? Процесс, запущенный под админом -
>  обычный, например?
>
> Так все таки какие нужны права, чтобы завершить работу компьютера
> в любом состоянии (хоть в Logon)?

ИМХО залоченый (LockWorkStation) юзер не может выключить комп, независимо от того, админ он или нет, но не берусь утверждать.
Пусть лучше мастера ответят.


Piter   (2005-11-02 21:31:00) [8]

isasa ©   (02.11.05 21:18) [8]
А ты посмотри каким Run-ом ты запускаешь  FlashGet (HKEY_CURRENT_USER)?
А если нет - запусти FlashGet закрой все сеансы -  потом войди и посмотри есть FlashGet, или нет


я ничего не понял.

Я запускаю FlashGet, нажимаю WIN+L - система выходит в Logon.

При этом FlashGet под моей учетной записью успешно работает и качает при этом.
Но компьютер завершить не может.

Eraser ©   (02.11.05 21:19) [9]
Как раз таки только сервис может, а обычный юзеровский процесс не может


да ну... И что значит обычный? Процесс, запущенный под админом - обычный, например?

Так все таки какие нужны права, чтобы завершить работу компьютера в любом состоянии (хоть в Logon)?


isasa   (2005-11-02 21:21:00) [9]

И можно как-нибудь вылечить?
Можно - сеанс не закрывать. Так работаю с ReGet и eMule/


Eraser   (2005-11-02 21:19:00) [10]


> Piter ©   (02.11.05 20:59) [7]

Как раз таки только сервис может, а обычный юзеровский процесс не может.


isasa   (2005-11-02 21:18:00) [11]

знайте, что в WinXP поддерживается мультилогинг :)
Знаем :)

Блокировать и закрыть сеанс(все сеансы) - две большие разницы.

Если сеансы закрыты  Shutdown делать некому.
А ты посмотри каким Run-ом ты запускаешь  FlashGet (HKEY_CURRENT_USER)?
А если нет - запусти FlashGet закрой все сеансы -  потом войди и посмотри есть FlashGet, или нет.


Piter   (2005-11-02 20:59:00) [12]

umbra ©   (02.11.05 20:28) [6]
в таком состоянии глобальные операции типа выключения питания невозможны


хм... Как-то нелогично.

Получается, сервис не может завершить работу системы?

Да не может быть... Тем более, в самом экране Logon реализовано "Завершение работы"! И как же оно реализовано?


umbra   (2005-11-02 20:28:00) [13]

просто осуществлен выход в Logon экран (WIN+L)

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


Piter   (2005-11-02 20:20:00) [14]

Desdechado ©   (02.11.05 17:34) [1]
видимо, право на выключение при залоченной рабочей станции должно быть выдано


а какие именно особые права нужны?
Тем более, это вовсе не залоченная станция.

isasa ©   (02.11.05 17:47) [2]
А разве FlashGet это сервис. Он работает только в рамках сеанса пользователя. Если сеанса нет, то и FlashGet - нет


tesseract ©   (02.11.05 19:49) [3]
При logon не запущена и не активна, ни одна программа пользовательского режима


знайте, что в WinXP поддерживается мультилогинг :)

umbra ©   (02.11.05 19:56) [4]

ничего не понял :(

Станция не залочена, просто осуществлен выход в Logon экран (WIN+L)


umbra   (2005-11-02 19:56:00) [15]

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


tesseract   (2005-11-02 19:49:00) [16]


> видимо, право на выключение при залоченной рабочей станции
> должно быть выдано


При logon не запущена и не активна, ни одна программа пользовательского режима. Активны исключительно драйверы и сервисы да и то не все.


isasa   (2005-11-02 17:47:00) [17]

А разве FlashGet это сервис. Он работает только в рамках сеанса пользователя. Если сеанса нет, то и FlashGet - нет.


Desdechado   (2005-11-02 17:34:00) [18]

видимо, право на выключение при залоченной рабочей станции должно быть выдано


Наверх

Титульная страница Поиск, карта сайта Написать письмо