IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Команда на переход в Hibernate из программы функцией Api..., Или как изменить права для ShellExecute
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 72
Пол: Мужской

Репутация: -  0  +


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

Или если нет такой функции, то как можно изменить права пользователя для
"ShellExecute(Handle, nil, 'rundll32.exe', 'powrprof.dll,SetSuspendState', nil, SW_HIDE);"
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


В DRKB есть раздел: Как перевести компьютер в Stend-by или Hibernate?


там смотрел ?


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 72
Пол: Мужской

Репутация: -  0  +


Да, не заметил...
Но всё равно проблемки, попробую по подробней...

При вызове через
"ShellExecute(Handle, nil, 'rundll32.exe', 'powrprof.dll,SetSuspendState', nil, SW_HIDE);"
Если произведен вход под пользователем с такими же правами, то переход в Hibernate не происходит.
Т.е. Админ(активен) / Админ
Пользователь(активен) / Админ или пользователь

Если вызов через "SetSuspendState( Hibernate, ForceCritical, DisableWakeEvent: Boolean);" (как в DRKB)
то если произведен вход под другим пользователем, с любыми правами, переход в Hibernate не происходит.
При чем не имеет значение какие права у того пользователя котрый активен.
Админ(активен) / Гость - перехода не будет...

Вот собственно хотелось бы это обойти...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Snake_B, а ты привилегии SE_SHUTDOWN_NAME установил?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Пионер
**

Группа: Пользователи
Сообщений: 72
Пол: Мужской

Репутация: -  0  +


Цитата(volvo @ 17.11.2006 21:00) *

Snake_B, а ты привилегии SE_SHUTDOWN_NAME установил?


NTSetPrivilege(SE_SHUTDOWN_NAME,True);
SetSuspendState(True, True, True);
NTSetPrivilege(SE_SHUTDOWN_NAME,False);

так же пробовал SetSuspendState со значениями (True, True/false, True/false);

только ни чего не изменилось... а для
"ShellExecute(Handle, nil, 'rundll32.exe', 'powrprof.dll,SetSuspendState', nil, SW_HIDE);"
привелегии не работают, внешняя программа...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Пионер
**

Группа: Пользователи
Сообщений: 72
Пол: Мужской

Репутация: -  0  +


Может тогда подскажите как определить, что вход осуществлен под Гостем?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 9.03.2021 17:45
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name