Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.12;
Скачать: CL | DM;

Вниз

Как в WinXP выключить компьютер   Найти похожие ветки 

 
DenKop ©   (2002-08-29 16:17) [0]

Ни ExitWindows, ни ExitWindowsEx не работают. Вычитал в хелпе что нужно изменить уровень привелегий, но это не помогло.


 
Квазиравномернонепрерывный   (2002-08-29 16:43) [1]

В debug API есть ф-я, которая показывает диаложек "Перезагрузить комп сейчас?..." и если user32 ответил Да, перегружает виндовоз.


 
Беня Ладен   (2002-09-02 01:04) [2]

Start->Turn off Computer->Turn off !!! :)))


 
melifaro ©   (2002-09-02 01:28) [3]

в XP как в NT - сначало надо дать приложению привилегию на выключение.

Пример:

Function GrantShutdownAccess: boolean;
var
hToken: THandle;
lpVersionInformation: TOSVersionInfo;
tkp: TTokenPrivileges;
RetLen: DWORD;
PreviousState: TTokenPrivileges;
begin
lpVersionInformation.dwOSVersionInfoSize := SizeOf(lpVersionInformation);
Result := GetVersionEx(lpVersionInformation);
if (lpVersionInformation.dwPlatformId = VER_PLATFORM_WIN32_NT) then
begin
if not OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken) then
begin
Result := False;
exit;
end;
Result := LookupPrivilegeValue( Nil, "SeShutdownPrivilege",
tkp.Privileges[0].Luid);
if not Result then Exit;
PreviousState := tkp;
tkp.PrivilegeCount := 1;
tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
if not(AdjustTokenPrivileges(hToken, FALSE, tkp, SizeOf(PreviousState), PreviousState, RetLen)) then
begin
Result := False;
Exit;
end;
end;
Result := True;
end;
А потом уже можно включать компьютер -
if GrantShutdownAccess then ExitWindowsEx (EWX_FORCE and EWX_SHUTDOWN,0);




Страницы: 1 вся ветка

Текущий архив: 2002.09.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
1-35667
vlv
2002-08-30 12:11
2002.09.12
Как определить наличие у объекта свойства по его имени?


1-35727
Yaro
2002-08-31 06:18
2002.09.12
Прорисовка при скроллинге в StringGrid e


1-35709
ec
2002-09-02 15:23
2002.09.12
Как в Memo нажать Enter


3-35613
Bubuka
2002-08-22 22:36
2002.09.12
RecordSet. обновить одну строку из набора данных


14-35865
gray_k
2002-08-15 18:17
2002.09.12
где взять