Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Выключение компьютера / 8 сообщений из 8, страница 1 из 1
26.06.2003, 15:32
    #32192673
bav
bav
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выключение компьютера
Здравствуйте
Такой вопрос, как корректно завершить работу виинды, а затем выключить компьютер?
...
Рейтинг: 0 / 0
26.06.2003, 15:46
    #32192713
mahoune
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выключение компьютера
Нажимаешь кнопку пуск, завершить работу-Выключить компьютер!
...
Рейтинг: 0 / 0
26.06.2003, 15:47
    #32192718
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выключение компьютера
WIN32API:

The ExitWindowsEx function either logs off, shuts down, or shuts down and restarts the system.

BOOL ExitWindowsEx(

UINT uFlags, // shutdown operation
DWORD dwReserved // reserved
);
...
Рейтинг: 0 / 0
26.06.2003, 15:50
    #32192727
mahoune
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выключение компьютера
А я не понял че он хочет!
...
Рейтинг: 0 / 0
26.06.2003, 15:54
    #32192731
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выключение компьютера
2 mahoune

Теперь меня сомнения гложут. А вдруг этоя не правильно понял. :-)
...
Рейтинг: 0 / 0
26.06.2003, 16:00
    #32192747
Александр Б
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выключение компьютера
Наверное, хочет домой :=)
...
Рейтинг: 0 / 0
26.06.2003, 16:12
    #32192769
bav
bav
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выключение компьютера
при чём тут нажать кнопку, программно вырубить комп, да но чтобы использовать функцию, ExitWindowsEx, нужно иметь привилегию
SE_SHUTDOWN_NAME , как её установить?
...
Рейтинг: 0 / 0
26.06.2003, 16:24
    #32192816
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выключение компьютера
То есть help по WIN32API нам лень открыть. Ну ладно, лови
The following example enables the SE_SHUTDOWN_NAME privilege and then shuts down the system.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
HANDLE hToken;  
TOKEN_PRIVILEGES tkp;  
 
// Get a token for this process. 
 
if (!OpenProcessToken(GetCurrentProcess(), 
        TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) 
    error( "OpenProcessToken" ); 
 
// Get the LUID for the shutdown privilege. 
 
LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, 
        &tkp.Privileges[ 0 ].Luid); 
 
tkp.PrivilegeCount =  1 ;  // one privilege to set    
tkp.Privileges[ 0 ].Attributes = SE_PRIVILEGE_ENABLED; 
 
// Get the shutdown privilege for this process. 

 
AdjustTokenPrivileges(hToken, FALSE, &tkp,  0 , 
        (PTOKEN_PRIVILEGES)NULL,  0 ); 
 
// Cannot test the return value of AdjustTokenPrivileges. 
 
if (GetLastError() != ERROR_SUCCESS) 
    error( "AdjustTokenPrivileges" ); 
 
// Shut down the system and force all applications to close. 
 
if (!ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE,  0 )) 
    error( "ExitWindowsEx" ); 


For more information about setting security privileges, see Security.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Выключение компьютера / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]