Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];

Вниз

Как перезагрузть компьютер?   Найти похожие ветки 

 
I am   (2006-03-05 20:27) [0]

Здравствуйте. Собственно, сабж. Заранее спасибо.


 
Desdechado ©   (2006-03-05 20:29) [1]

press reset to reboot


 
I am   (2006-03-05 20:36) [2]

[1] вариант, но, учитывая тематику форума, вопрос следует понимать как
"Каким образом реализовать вызов процедуры перезагрузки компьютера средствами программного продукта Borland Delphi?"


 
begin...end ©   (2006-03-05 21:31) [3]

ExitWindowsEx


 
I am   (2006-03-06 16:14) [4]

Ситуация: Были внесены изменения в реестр, причем для вступления этих изменений в силу требуется перезагрузка. Также, если ввести неверный параметр в реестре, то ошибка выдастся на черном экране (ОС WinXP)
Вытекающий вопрос: считается ли LogOut равносильным перезагрузке компьютера?


 
Dmitrij_K   (2006-03-06 16:54) [5]


> Вытекающий вопрос: считается ли LogOut равносильным перезагрузке
> компьютера?

Зависит от того в какой раздел реестра пишешь.


 
I am   (2006-03-06 18:01) [6]

> Зависит от того в какой раздел реестра пишешь.
HKEY_LOCAL_MACHINE тогда, по идее, требуется полноценная перезагрузка. А вот как ее реализовать?


 
Dmitrij_K   (2006-03-06 18:45) [7]

function MyExitWindows(RebootParam: Longword): Boolean;  
var  
 TTokenHd: THandle;  
 TTokenPvg: TTokenPrivileges;  
 cbtpPrevious: DWORD;  
 rTTokenPvg: TTokenPrivileges;  
 pcbtpPreviousRequired: DWORD;  
 tpResult: Boolean;  
const  
 SE_SHUTDOWN_NAME = "SeShutdownPrivilege";  
begin  
 if Win32Platform = VER_PLATFORM_WIN32_NT then  
 begin  
   tpResult := OpenProcessToken(GetCurrentProcess(),  
     TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,  
     TTokenHd);  
   if tpResult then  
   begin  
     tpResult := LookupPrivilegeValue(nil,  
                                      SE_SHUTDOWN_NAME,  
                                      TTokenPvg.Privileges[0].Luid);  
     TTokenPvg.PrivilegeCount := 1;  
     TTokenPvg.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;  
     cbtpPrevious := SizeOf(rTTokenPvg);  
     pcbtpPreviousRequired := 0;  
     if tpResult then  
       Windows.AdjustTokenPrivileges(TTokenHd,  
                                     False,  
                                     TTokenPvg,  
                                     cbtpPrevious,
                                     rTTokenPvg,
                                     pcbtpPreviousRequired);
   end;
 end;
 Result := ExitWindowsEx(RebootParam, 0);
end;

// Example to shutdown Windows:

procedure TForm1.Button1Click(Sender: TObject);
begin
 MyExitWindows(EWX_POWEROFF or EWX_FORCE);
end;

// Example to reboot Windows:

procedure TForm1.Button1Click(Sender: TObject);
begin
 MyExitWindows(EWX_REBOOT or EWX_FORCE);
end;


-----------------------
www.DRKB.ru


 
I am   (2006-03-06 19:26) [8]

Большое спасибо. Сам нашел схожий пример. Возник вопрос: что за тип EWX?
В хелпах я упоминания о нем не заметил (впрочем, как и о функции ExitWindowsEx)...


 
Dmitrij_K   (2006-03-06 19:36) [9]


> В хелпах я упоминания о нем не заметил

Плохо искал!
Delphi Menu : Help -> Windows SDK


 
umbra ©   (2006-03-06 19:38) [10]

EWX_ля-ля - это константы, они объявлены в windows.pas. Функция ExitWindowsEx описана в SDK


 
I am   (2006-03-07 11:06) [11]

Еще раз большое спасибо.



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

Форум: "Начинающим";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.042 c
2-1142340806
fast2
2006-03-14 15:53
2006.03.26
Подскажите алгоритм


2-1141744584
Nox321
2006-03-07 18:16
2006.03.26
Как прописать процедуру, где?


15-1141720957
Хинт
2006-03-07 11:42
2006.03.26
Проверить строку на наличие кириллицы (php)


1-1140275055
pargo
2006-02-18 18:04
2006.03.26
Утечка памяти при поиске файлов.


1-1140514864
KyRo
2006-02-21 12:41
2006.03.26
Case для строк





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский