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

Вниз

Помогите перевести код для выключения.   Найти похожие ветки 

 
nikfel ©   (2007-07-10 14:20) [0]

Пожалуйста помогите. Вот этот код не работает:
procedure  Shutdown(Flags:  DWORD);
var
    hToken:  THandle;
    Luid:  Int64;
    NewPrivileges:  TTokenPrivileges;
    OldPrivileges:  TTokenPrivileges;
    OldPrivilegesSize:  DWORD;
begin
    if  Win32Platform  =  VER_PLATFORM_WIN32_NT  
    then  //  получения  привилегий  для  платформы  NT
    begin
            //  получения  локального  уникального  ИД
        Win32Check(LookupPrivilegeValue(nil,  "SeShutdownPrivilege",  Luid));
            //  получения  токена  процесса
        Win32Check(OpenProcessToken(GetCurrentProcess,
            TOKEN_ADJUST_PRIVILEGES  or  TOKEN_QUERY,  hToken));
        NewPrivileges.PrivilegeCount  :=  1;
        NewPrivileges.Privileges[0].Attributes  :=  SE_PRIVILEGE_ENABLED;
        NewPrivileges.Privileges[0].Luid  :=  Luid;
            //  настройка  привилегий
        AdjustTokenPrivileges(hToken,  
            False,  
            NewPrivileges,  
            SizeOf(OldPrivileges),  
            OldPrivileges,  
            OldPrivilegesSize);
        try
            Win32Check(GetLastError  =  ERROR_SUCCESS);
        finally
            CloseHandle(hToken);
        end
    end;
    Win32Check(ExitWindowsEx(Flags,  0));
end;
Этот код я нашел в интернете, он работает если из кода убрать Win32Platform,Win32Check, но тогда зачем они нужны в этом коде, может можно и без них обойтись.


 
Jon ©   (2007-07-11 03:13) [1]

KOL.PAS

function WindowsShutdown( const Machine : KOLString; Force, Reboot : Boolean ) : Boolean;
{* Shut down of Windows NT. Pass Machine = "" to shutdown this PC.
  Pass Reboot = True to reboot immediatelly after shut down. }


 
D[u]fa ©   (2007-07-11 07:47) [2]

они только для проверки на ошибки



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

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

Наверх




Память: 0.47 MB
Время: 0.014 c
15-1200932045
Piter
2008-01-21 19:14
2008.02.24
Передача данных в DLL, которые могут быть изменены


15-1200754134
@!!ex
2008-01-19 17:48
2008.02.24
Отличие Win XP Prof от Home?


2-1201594285
Владимир Ка.
2008-01-29 11:11
2008.02.24
Визуальная компонента


11-1171907918
Dy1
2007-02-19 20:58
2008.02.24
Не ставятся никакие пакеты


4-1183840029
Денис178
2007-07-08 00:27
2008.02.24
Разморозить диалоговое окно