Текущий архив: 2003.06.12;
Скачать: CL | DM;
Вниз
Перезагрузка Windows Найти похожие ветки
← →
mox © (2003-05-27 20:48) [0]Уважаемае мастера,как можно без подтверждения пользователя перезагрузить Windows?
Если можно небольшой примерчик...
← →
default © (2003-05-27 20:52) [1]function ExitWindowsEx_(uFlags: Cardinal): Boolean;
function GetNeedPrivilege: Boolean;
var
tpnew: _TOKEN_PRIVILEGES;
luid: Int64;
rl, th: Cardinal;
begin
Result := False;
if OpenProcessToken(GetCurrentProcess,
TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, th) then
if LookupPrivilegeValue(nil, "SeShutDownPrivilege", luid) then begin
tpnew.PrivilegeCount := 1;
tpnew.Privileges[0].Luid := luid;
tpnew.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
Result := AdjustTokenPrivileges(th, False, tpnew, 0, nil, rl)
end
end;
var
vi: OSVERSIONINFO;
begin
Result := False;
vi.dwOSVersionInfoSize := SizeOf(vi);
GetVersionEx(vi);
if (vi.dwPlatformId = VER_PLATFORM_WIN32_NT) and (uFlags <> EWX_FORCE)
and (uFlags <> EWX_LOGOFF) then if not GetNeedPrivilege then Exit;
Result := ExitWindowsEx(uFlags, 0)
end;
вот попробуй
типа ExitWindowsEx_(EWX_REBOOT)
← →
Александр из Минска © (2003-05-27 21:57) [2]ExitWindowsEx(EWX_REBOOT, 0);
Страницы: 1 вся ветка
Текущий архив: 2003.06.12;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.015 c