powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Выключение компьютера
8 сообщений из 8, страница 1 из 1
Выключение компьютера
    #32192673
bav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте
Такой вопрос, как корректно завершить работу виинды, а затем выключить компьютер?
...
Рейтинг: 0 / 0
Выключение компьютера
    #32192713
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нажимаешь кнопку пуск, завершить работу-Выключить компьютер!
...
Рейтинг: 0 / 0
Выключение компьютера
    #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
Выключение компьютера
    #32192727
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я не понял че он хочет!
...
Рейтинг: 0 / 0
Выключение компьютера
    #32192731
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 mahoune

Теперь меня сомнения гложут. А вдруг этоя не правильно понял. :-)
...
Рейтинг: 0 / 0
Выключение компьютера
    #32192747
Александр Б
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверное, хочет домой :=)
...
Рейтинг: 0 / 0
Выключение компьютера
    #32192769
bav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
при чём тут нажать кнопку, программно вырубить комп, да но чтобы использовать функцию, ExitWindowsEx, нужно иметь привилегию
SE_SHUTDOWN_NAME , как её установить?
...
Рейтинг: 0 / 0
Выключение компьютера
    #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
8 сообщений из 8, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Выключение компьютера
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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