| 
| 
 | Вопрос # 1 955/ вопрос решён / | 
 |  Доброго времени суток, уважаемые эксперты! Подскажите какой код надо прописать, чтобы, например при нажатии кнопки, выполнелась перезагрузка компьютера!Заранее спасибо!
 
|  |   Вопрос задал: Ученый (статус: 8-ой класс)Вопрос отправлен: 2 октября 2008, 11:52
 Состояние вопроса: решён, ответов: 2.
 |  Ответ #1. Отвечает эксперт: Аксион Здравствуйте, Ученый!Попробуйте вот это:
 ExitWindowsEx(EWX_LOGOFF or ewx_force,0);
 для выключения.
 И это:
 ExitWindowsEx(EWX_FORCE or ewx_force,0);
 для перезагрузки.
 
|  | Ответ отправил: Аксион (статус: 4-ый класс)Время отправки: 2 октября 2008, 12:47
 Оценка за ответ: 5
 |  Ответ #2. Отвечает эксперт: Николай Рубан Здравствуйте, Ученый!
 Именно для перезагрузки компьютера в целом, необходимо использовать
 
 ExitWindowsEx(EWX_REBOOT,0); Соответственно для выключения:
 
 ExitWindowsEx(EWX_SHUTDOWN,0); Good Luck!
 
|  | Ответ отправил: Николай Рубан (статус: 10-ый класс)Время отправки: 2 октября 2008, 15:58
 Оценка за ответ: 5
 Комментарий к оценке: Вы даже не представляете на сколько огромное спасибо!!!! |  
 Мини-форум вопросаВсего сообщений: 19; последнее сообщение — 2 октября 2008, 17:18; участников в обсуждении: 4. 
|   | Вадим К (статус: Академик), 2 октября 2008, 12:06 [#1]:Блазера надо просить персонально. Я когда то ему код рисовал   Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Пупкин В.В. (статус: 1-ый класс), 2 октября 2008, 13:02 [#2]:вариантов много, но в варианте Блазера надо еще с привелегиями возится для NT. Еще один вариант -  в uses  ShellApi; в коде ShellExecute(0,'open','shutdown','/r /f',nil,0);
 вот и все если ничего не напутал.
 |  
|   | Вадим К (статус: Академик), 2 октября 2008, 13:05 [#3]:в этом варианте тоже далеко не факт, что получиться перезагрузка. Может быть это гость и ему закрыт доступ. Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Пупкин В.В. (статус: 1-ый класс), 2 октября 2008, 13:11 [#4]:гостю нельзя выключить комп или перезагрузить?  хотя возможно в компьютерных клубах, а так. |  
|   | Пупкин В.В. (статус: 1-ый класс), 2 октября 2008, 13:15 [#5]:если гостю нельзя, то и ExitWindowsEx(EWX_LOGOFF or ewx_force,0); не пройдет |  
|   | Вадим К (статус: Академик), 2 октября 2008, 13:39 [#6]:Не обязательно в компьютерных клубах. Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Ученый (статус: 8-ой класс), 2 октября 2008, 15:50 [#7]:Делаю как посоветовал Блазер! Всё идёт! Но происходит перезагрузка винды! а мне бы хотелось чтобы перезагружался полностью компьтер! Help me please.... |  
|   | Вадим К (статус: Академик), 2 октября 2008, 16:08 [#8]:Под XP/Vista перегрузка  винды без перегрузки компьютера маловозможна. Может быть только сеанс перегружается.
 Случайно не Виста?
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Ученый (статус: 8-ой класс), 2 октября 2008, 16:18 [#9]:да нет XP! Только поверх ее Vista пак установлен! и вы правы перезагружается не комп, а сеанс ! |  
|   | Ученый (статус: 8-ой класс), 2 октября 2008, 16:21 [#10]:to Николай Рубан пушу как вы сказали! вообще ничего не происходит! |  
|   | Вадим К (статус: Академик), 2 октября 2008, 16:22 [#11]:Попробуйте указать такую константу EWX_REBOOT как параметр. Надеюсь сами догадаетесь, куда писать. Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Ученый (статус: 8-ой класс), 2 октября 2008, 16:24 [#12]:неа недогадаюсь! объясните пожалуйста если это вас сильно не затруднит.... |  
|   | Вадим К (статус: Академик), 2 октября 2008, 16:34 [#13]:ну так ExitWindowsEx(EWX_REBOOT,0); хотя это уже в ответах писал Николай Рубан
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Ученый (статус: 8-ой класс), 2 октября 2008, 16:43 [#14]:проблема какая! Пишу: procedure TForm3.Timer1Timer(Sender: TObject); begin
 a:=a+1;
 if a=1 then label1.caption:='4';
 if a=2 then label1.caption:='3';
 if a=3 then label1.caption:='2';
 if a=4 then label1.caption:='1';
 if a=5 then label1.caption:='0';
 if a=6 then ExitWindowsEx(EWX_REBOOT,0);
 
 end;
 Доходит время, а перезагрузки нет! Хотя в случае который предлагал Блазер всё работало, только перезагружался сеанс а не комп!
 |  
|   | Аксион (статус: 4-ый класс), 2 октября 2008, 16:47 [#15]:Мм..бомба замедленного действия   |  
|   | Ученый (статус: 8-ой класс), 2 октября 2008, 16:50 [#16]:не совсем! не работает пока! |  
|   | Пупкин В.В. (статус: 1-ый класс), 2 октября 2008, 16:56 [#17]:не проще ли при иницилизации a:=4; а в таймере label1.caption:=inttostr(a);
 dec(a);
 if a=0 then ExitWindowsEx(EWX_REBOOT,0);
 |  
|   | Ученый (статус: 8-ой класс), 2 октября 2008, 17:04 [#18]:Результат тотже! Ничего не происходит! да к томуже теперь таймер не идёт! |  
|   | Пупкин В.В. (статус: 1-ый класс), 2 октября 2008, 17:18 [#19]:ясное дело что ошибка была не в этом просто был корявый код с кучей if А если вам надо было до 150 считать былоб 150 ифов ? =)))) и ваще множественный выбор - опкратор case.
 А ошибка скорее всего в том что условие не выполняется.
 или в другом чем из предоставленого кода не понятно.
 |  31 января 2011, 19:31: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.): Автоматическая обработка (2 и более ответов с оценкой 5) Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |