Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2010, 03:14   #1
docbrain
Заблокирован
 
Регистрация: 14.01.2010
Сообщений: 306
По умолчанию Почему не работает команда?

Доброе время суток.
У меня тут не работает одна строка. Она компилируется, но не выполняется. Вот она:

ExitWindowsEx(EWX_FORSE, 0);

Эта строка должна полностью вырубать компьютер. а она не работает.
docbrain вне форума Ответить с цитированием
Старый 07.05.2010, 05:27   #2
MaxNik2009
Форумчанин
 
Аватар для MaxNik2009
 
Регистрация: 17.09.2009
Сообщений: 294
По умолчанию

этого мало, необходимо установить приоритет своей программы...посмотри >>это<<
принимаю благодарности в письменном виде( весы слева)...
MaxNik2009 вне форума Ответить с цитированием
Старый 09.05.2010, 06:52   #3
docbrain
Заблокирован
 
Регистрация: 14.01.2010
Сообщений: 306
По умолчанию

Хм, посмотрел. Довольно длинный и к сожалению непонятный код.
Нет ли где-нибудь более подробных инструкций?
docbrain вне форума Ответить с цитированием
Старый 09.05.2010, 07:18   #4
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Там наоборот все понятно !
Вот немного с другой стороны подход, работающий на всех версиях и любом пользователе :
Код:
function _ExitWindows(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; 



ИСПОЛЬЗОВАНИЕ :

procedure TForm1.ShutDownBtnClick(Sender: TObject);
begin
 _ExitWindows(EWX_POWEROFF or EWX_FORCE);//Выключение
end;


procedure TForm1.RestartBtnClick(Sender: TObject);
begin
  _ExitWindows(EWX_REBOOT or EWX_FORCE);//Перезагрузка 
end;
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 10.05.2010, 01:58   #5
docbrain
Заблокирован
 
Регистрация: 14.01.2010
Сообщений: 306
По умолчанию

Ну е-мое!
У меня есть код, который куда как короче. Хотя я и его тоже не понимаю. А ваш код, даже без комментариев.

Последний раз редактировалось docbrain; 10.05.2010 в 02:10.
docbrain вне форума Ответить с цитированием
Старый 10.05.2010, 07:18   #6
MaxNik2009
Форумчанин
 
Аватар для MaxNik2009
 
Регистрация: 17.09.2009
Сообщений: 294
По умолчанию

Ну тогда старым "дедовским" способом:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
WinExec('ShutDown -s{выключение компа} -t 00{задержка перед выключением 00 милисекунд} -f{принудительное завершение всех процессов}', sw_ShowHide{не показываем окно процесса} );
end;
принимаю благодарности в письменном виде( весы слева)...
MaxNik2009 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему не работает тег align=right?valign работает а align нет! aviv HTML и CSS 5 21.01.2009 17:46
почему не работает domovoi Общие вопросы Delphi 1 15.10.2008 18:42