|
Платные хостинги
Раскрутка сайта
Книги по программированию
EWX_SHUTDOWN, Не shutdown-ит!
- Привет!Мне надо вырубить комп и я использую Exitwindowsex(ewx_force,0) но он делает logoff. А на ewx_shutdown, ewx_reboot вообще никак не риагирует. подскажитеб что делать.Спасибо.P.S. Что это с форумом?
- http://forum.vingrad.ru/index.php?act=ST&f=27&t=5911
- Попробуй различные комбинации флагов. У меня под 98 флаги перегруза и выключения действуют наоборот, а под 2000 - вообще ни черта ни делают.
- ExitWindows(EW_RebootSystem, 0);
- procedure ShutDownSystem;varHandle,Ph: THandle;pid : DWORD;luid : TLargeInteger;priv : TOKEN_PRIVILEGES;ver : TOSVersionInfo;beginver.dwOSVersionInfoSize:=Sizeof(ver);GetVersionEx(ver);if ver.dwPlatformId=VER_PLATFORM_WIN32_NT then beginpid:=GetCurrentProcessId;ph := OpenProcess(PROCESS_ALL_ACCESS,false,pid);if OpenProcessToken(ph,TOKEN_ADJUST_PRIVILEGES,handle) thenif LookupPrivilegeValue(nil,'SeShutdownPrivilege',luid) then beginpriv.PrivilegeCount:=1;priv.Privileges[0].Attributes:= SE_PRIVILEGE_ENABLED;priv.Privileges[0].Luid:=luid;AdjustTokenPrivileges(handle,false,priv,0,nil,pid);end;end;ExitWindowsEx(EWX_POWEROFF+EWX_FORCE ,0);end;Нашел:ShutDown - ит и WinXP и 2000;
- Это ты Вася из Кулибы взял.Вот оттуда еще один вариант:Код Procedure Shutdown(Name:String; // Имя машины (\\SERVER)Message:String; // СообщениеDelay:Integer; // Задержка перед рестартомRestart,CloseAll:Boolean);varph:THandle;tp,prevst:TTokenPrivileges;rl:DWORD;beginOpenProcessToken(GetCurrentProcess,TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,ph);LookupPrivilegeValue(Nil,'SeShutdownPrivilege',tp.Privileges[0].Luid);tp.PrivilegeCount:=1;tp.Privileges[0].Attributes:=2;AdjustTokenPrivileges(ph,FALSE,tp,SizeOf(prevst),prevst,rl);InitiateSystemShutdown(PChar(name),PChar(Message),Delay,Restart,CloseAll);ShowMessage(SysErrorMessage(GetLastError)); // РезультатhighlightSyntax('delphijM5MWF','delphi');
Интернет казино
Онлайн игры
Увеличение члена
Купить DVD
|