![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как перевести компьютер в спящий режим (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() чтобы получить соответствующие права.