Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Hibernate


Автор: 7Y7AN 17.9.2003, 11:17
Как захибирнэйтить комп?

Автор: Akella 17.9.2003, 14:05
засыпание пока не знаю, попробуй почитать про енту
функцию WinAPI: ExitWindowsEx(EWX_REBOOT, 0) - может можно поставить другие параметры. Пока могу дать пример для перезагрузки, мало ли, в жизни все пригодится
Код
uses Windows;

procedure RebootSystem;
var

handle, ph: THandle;
pid: DWORD;
luid: TLargeInteger;
dummy, priv: TOKEN_PRIVILEGES;
ver: TOSVERSIONINFO;
begin

ver.dwOSVersionInfoSize := Sizeof(ver);
GetVersionEx(ver);
if ver.dwPlatformId=VER_PLATFORM_WIN32_NT then begin
pid := GetCurrentProcessId;
ph := OpenProcess(PROCESS_ALL_ACCESS, false, pid);
if OpenProcessToken(ph, TOKEN_ADJUST_PRIVILEGES, handle) then
if LookupPrivilegeValue(nil, 'SeShutdownPrivilege', luid) then begin
priv.PrivilegeCount := 1;
priv.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
priv.Privileges[0].Luid := luid;
AdjustTokenPrivileges(handle, false, priv, 0, dummy, pid);
end;
end;
ExitWindowsEx(EWX_REBOOT, 0);
end;

Может позже что-нибудь наковыряю

Автор: p0s0l 17.9.2003, 20:41
Попробуй это:
function SetSuspendState(Hibernate, ForceCritical, DisableWakeEvent: BOOLEAN): BOOLEAN;
Только в Delphi она не прописана, я пользуюсь JediWinAPI.
А описывается она так:
function SetSuspendState(Hibernate, ForceCritical, DisableWakeEvent: BOOLEAN): BOOLEAN; stdcall; external 'powrprof.dll' name 'SetSuspendState';

Автор: Akella 18.9.2003, 08:15
библиотека 'powrprof.dll' должна "лежать" в каталоге моей проги или а она может также "лежать" в системном каталоге Windows

Автор: Baa 18.9.2003, 10:39
Поиск библиотеки (при её отсутствии) осуществляется в приоритетном порядке:
1. директория, откуда была прога запущена
2. текущая директория
3. системная дира винды (System32 или System, взависимости от виндов)
4. нт проверяет диру System
5. директория винды
6. директории, которые перечислены в переменной окружения PATH

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)