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

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

Как перевести компьютер в спящий режим (WinXP) [D7, WinXP]


mitur ©   (2003-08-18 11:00:00) 

Функция SetSystemPowerState(true,true) не работает. Просто ничего не происходит.
Смотрел функцию DeMon"a-777 NTSleep и NTWait - результат тот же.


mitur   (2003-08-20 13:43:00) [1]

Спасибо, попробую


KosilkA   (2003-08-20 13:41:00) [2]

winexec

%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState


Ray Adams   (2003-08-19 00:12:00) [3]

SetSystemPowerState(false,false); Hibbernate
SetSystemPowerState(true,false); Stand By
Я эти юзал в программе для быстрого вырубания компа.


mitur   (2003-08-18 11:19:00) [4]

Естественно, я использую

Procedure NTSleep;
var hToken: THandle;
tkp: TTokenPrivileges;
ReturnLength: Cardinal;
begin
if OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken) then
begin
LookupPrivilegeValue(nil,"SeShutdownPrivilege",
tkp.Privileges[0].Luid);
tkp.PrivilegeCount:=1; // one privelege to set
tkp.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED;
if AdjustTokenPrivileges(hToken, False, tkp, 0, nil, ReturnLength)then
SetSystemPowerState(true,true);
end;
end;
Делаю вот так.


Song   (2003-08-18 11:03:00) [5]

Прав не хватает. Используй функцию AdjustTokenPriviligies() чтобы получить соответствующие права.


Наверх

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