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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2006, 11:38   #11
Svop
Пользователь
 
Регистрация: 08.11.2006
Сообщений: 25
По умолчанию

а как ее в реестре в авторан кинуть?
Svop вне форума Ответить с цитированием
Старый 11.11.2006, 11:53   #12
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Svop!
Прочитайте внимательно:

1) Новый вопрос - новая тема! - это самое главное

2)
Цитата:
а как ее в реестре в авторан кинуть?
Такая тема уже обсуждалась в разделе безопасность.
http://www.programmersforum.ru/showthread.php?p=8#post8

Последний раз редактировалось zetrix; 11.11.2006 в 11:55.
zetrix вне форума Ответить с цитированием
Старый 16.12.2006, 19:32   #13
komex
Пользователь
 
Регистрация: 16.12.2006
Сообщений: 82
По умолчанию

А какую надо библеотеку подключить, чтобы все это работало?
komex вне форума Ответить с цитированием
Старый 17.12.2006, 12:40   #14
komex
Пользователь
 
Регистрация: 16.12.2006
Сообщений: 82
По умолчанию

Цитата:
Сообщение от zetrix Посмотреть сообщение
В нужное событие (нажати на кнопку например) напиши: ExitWindowsEx( EWX_FORCE or EWX_SHUTDOWN, 0 );
А у меня эта функция почему-то не срабатывает. Хотя при компиляции никаких ошибок не возникает. В чем может быть проблема?
komex вне форума Ответить с цитированием
Старый 17.12.2006, 13:07   #15
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Поспотри Windows SDK справку Delphi. ExitWindows в поиске и тема Shutting Down: там пример для XP.
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Старый 17.12.2006, 13:44   #16
komex
Пользователь
 
Регистрация: 16.12.2006
Сообщений: 82
По умолчанию

Цитата:
Сообщение от SuperVisor Посмотреть сообщение
Поспотри Windows SDK справку Delphi. ExitWindows в поиске и тема Shutting Down: там пример для XP.
Shutting Down - это помоему вообще не на делфи написано. Даже не знаю как это проверить. А ExitWindows не полностью выключает комп, а просто выходит из системы. Хотя для начала и это пойдет, но все таки интересно как выключить полностью?
komex вне форума Ответить с цитированием
Старый 17.12.2006, 15:33   #17
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Полчаса для полного разбора написанного в инфе текста... Самообучение - великая вещь!!! Запомни это...
Код:
procedure ShutdownComputer;
var
  hToken: THandle;
  tkp, prevst: TTokenPrivileges;
  rl: DWORD;
begin
  OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or
    TOKEN_QUERY, hToken);
  LookupPrivilegeValue(nil, ′SeShutdownPrivilege′, tkp.Privileges[0].Luid);
  tkp.PrivilegeCount := 1;
  tkp.Privileges[0].Attributes := 2;
  AdjustTokenPrivileges(hToken, FALSE, tkp, SizeOf(prevst), prevst, rl);
  ExitWindowsEx(EWX_SHUTDOWN or EWX_POWEROFF, 0);
end;
Должно работать. Сам не стал проверять - коннект с сервером Traffic Compressor терять жалко....
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Старый 17.12.2006, 20:58   #18
Сильванович Михаил
Студент
Форумчанин
 
Регистрация: 10.11.2006
Сообщений: 196
По умолчанию

Мне кажется, что я уже писал процедуру, работающую как в Win9x, так и в
WinNT, но только тема была по перезагрузке.
Посмотри http://www.programmersforum.ru/showp...72&postcount=4

Токмо код завершения работы надо другой использовать.
Visita Interiorem Terrae Rectificando Operae Lapidem...
Сильванович Михаил вне форума Ответить с цитированием
Старый 17.12.2006, 21:31   #19
komex
Пользователь
 
Регистрация: 16.12.2006
Сообщений: 82
По умолчанию

SuperVisor, спасибо большое! Программа работает как надо!

Последний раз редактировалось komex; 17.12.2006 в 21:37.
komex вне форума Ответить с цитированием
Старый 17.12.2006, 21:36   #20
komex
Пользователь
 
Регистрация: 16.12.2006
Сообщений: 82
По умолчанию

Цитата:
Сообщение от Сильванович Михаил Посмотреть сообщение
Мне кажется, что я уже писал процедуру, работающую как в Win9x, так и в
WinNT, но только тема была по перезагрузке.
Посмотри http://www.programmersforum.ru/showp...72&postcount=4

Токмо код завершения работы надо другой использовать.
Че-то я не совсем понял, на каком языке это написано? Там вроде получается функция в функции? И что это означает:
Код:
function IsWin9x: Bool; {True = Win9x, False = NT}
asm
xor eax, eax
mov ecx, cs
xor cl, cl
jecxz @@quit
inc eax
@@quit:
end;
Нет begin'а, а внутри вообще непонятно что. Может просто я плохо знаю Delphi?!

P.S. И вот в чем прикол, при компиляции не выдает никакой ошибки! Но программа все равно не работает. Т.е. запускается, но ничего не происходит!

Последний раз редактировалось komex; 17.12.2006 в 21:42.
komex вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выключение компьютера aesoem Общие вопросы Delphi 2 03.07.2008 16:50
Выключение и перезагрузка Патрон Win Api 8 26.03.2008 16:24
Выключение компютера Rahim1993 Win Api 3 03.02.2008 11:23
выключение, перезагрузка компьютера ATL Win Api 4 16.05.2007 01:57
Включение-выключение компьютера с помощью Delphi BLACK_KOT Помощь студентам 6 01.05.2007 09:55