Вверх ↑
Этот топик читают: Гость
Ответов: 29
Рейтинг: 1
#1: 2014-01-31 21:07:56 ЛС | профиль | цитата
Делаю программы для winpe (урезаная винда live cd)
Понадобилось сделать "выключалкуперезагружалку" системы ибо без Explorer.exe стандартный метод не срабатывает.
Набросал программку с компонентом ExitWindows, проверил в основной ОС все работает как надо, загружаюсь в winpe там никакой реакции. Судя по компоненту вызов идет через API user32. Почему же тогда не срабатывает? Что интересно всякие другие программы для перезагрузки работают отлично, но они как правило громоздкие...
code_32960.txt
карма: 0

0
файлы: 1code_32960.txt [1.5KB] [142]
Ответов: 2276
Рейтинг: 677
#2: 2014-02-01 00:22:18 ЛС | профиль | цитата
Инсульт, есть другие способы перезагрузки win. К примеру через ntdll.dll, можно IC сделать, но отключает как из розетки выключить.
карма: 11

0
Гость
Ответов: 17029
Рейтинг: 0
#3: 2014-02-01 01:39:21 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-09 10:25:52
карма: 0

0
Ответов: 704
Рейтинг: 44
#4: 2014-02-01 01:49:23 ЛС | профиль | цитата
sla8a писал(а):
Инсульт

Серьезный ник Инсульт.sla8a, ты с ним по осторожнее



    Перезагружаем компьютера- sudo reboot


    Для перезагрузки компьютера- sudo shutdown -r now

    Чтобы выключить компьютер из командной строки, то нужно выполнить команду:- sudo shutdown -h now
    Также компьютер можно выключить выполнив команду:- sudo halt
    А также можно использовать- sudo poweroff
карма: 0

0
Ответов: 29
Рейтинг: 1
#5: 2014-02-01 02:10:45 ЛС | профиль | цитата
яж написал WinPe а не linuxlive
nncron ставится сервисом что уже недопустимо в лайве.
Как делать шатдаун неважно для лайва хоть как из розетки.
Вот про ntdll.dll хотел бы узнать побольше как делать. Чую сторонние программы так и делают ибо при нажатии "перезапуск" система даже не думает а сразу уходит в ребут.
Странно нашел программу где вызывается ExitWindowsEx в User32 и все работает. И компонент делает так же и не работает..

карма: 0

0
Ответов: 2276
Рейтинг: 677
#6: 2014-02-01 02:19:56 ЛС | профиль | цитата
Инсульт писал(а):
Чую сторонние программы так и делают ибо при нажатии "перезапуск" система даже не думает а сразу уходит в ребут
Скорее всего оно. Вырубает сразу, без разговоров, не успеешь и до трех досчитать .
Инсульт писал(а):
Вот про ntdll.dll хотел бы узнать побольше как делать.
Так "погуглите", там десяток строк кода в IC вставить всего.
карма: 11

0
Гость
Ответов: 17029
Рейтинг: 0
#7: 2014-02-01 08:39:04 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-09 10:25:52
карма: 0

0
Ответов: 196
Рейтинг: 43
#8: 2014-02-01 12:18:32 ЛС | профиль | цитата
Инсульт, попробуй такой вариант. WinPe нет под рукой, WinXP выключает мгновенно.
code_32961.txt
карма: 2

0
файлы: 1code_32961.txt [1.2KB] [213]
Ответов: 2276
Рейтинг: 677
#9: 2014-02-01 12:25:02 ЛС | профиль | цитата
halt писал(а):
попробуй такой вариант.
Об этом варианте и была речь.
sla8a писал(а):
через ntdll.dll, можно IC сделать
halt, только зря выкладываете такое, Инсульт при желании и сам бы сделал.
карма: 11

0
Ответов: 29
Рейтинг: 1
#10: 2014-02-01 14:54:22 ЛС | профиль | цитата
так? а то у меня ощущение что я наговнокодил
Но оно работает.
code_32963.txt
карма: 0

0
файлы: 1code_32963.txt [1.9KB] [161]
Ответов: 2276
Рейтинг: 677
#11: 2014-02-01 15:04:27 ЛС | профиль | цитата
Вот так вроде как лучше, но я не специалист в этих вопросах.
code_32964.txt
карма: 11

0
файлы: 1code_32964.txt [1.7KB] [184]
Ответов: 29
Рейтинг: 1
#12: 2014-02-01 16:01:18 ЛС | профиль | цитата
sla8a писал(а):
Вот так вроде как лучше, но я не специалист в этих вопросах.

Что то как то все наоборот
doPowerOff - перезагружает
doRestart - выключает
doShoutdown - не понятно что делает (на ноутбуке не срабатывает, наверно только для дестопов)
Оставил первый проверенный вариант, думаю вопрос решен. Всем спасибо.
code_32965.txt


карма: 0

0
файлы: 1code_32965.txt [2.1KB] [142]
12
Сообщение
...
Прикрепленные файлы
(файлы не залиты)