Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как выключить компьютер  (Прочитано 14302 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Dracul
Помогающий

ru
Offline Offline
Пол: Мужской

« : 10-08-2004 01:52 » 

Люди умные и очень умные, помогите неучу.
Как можно выключить компьютер програмно, а перезагрузить?
Подозреваю, что делается это с помощью API, и если так, то не могли бы вы еще эти функции по подробнее расписать, а?
Записан
npak
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 11-08-2004 10:50 » 

Для этого есть несколько API

Во-первых, есть System Shutdown
http://msdn.microsoft.com/library/en-us/sysinfo/base/system_shutdown.asp

Пример использования данного API есть в MSDN Q168796 http://support.microsoft.com/?kbid=168796

Во-вторых, есть Advanced Power Management
http://msdn.microsoft.com/library/en-us/power/base/power_management.asp

Примера нет, но его легко получить из Q168796 если заменить вызов ExitWindowsEx на SetPowerState
Записан

UniTesK -- индустриальная технология надежного тестирования.

http://www.unitesk.com/ru/
Доцент
Участник

ru
Offline Offline

« Ответ #2 : 07-10-2009 15:30 » 

Option Explicit
Private Declare Function ExitWindowsEx Lib "user32" (ByVal _
  uFlags As Long, _ ByVal dwReserved As Long ) As Long

Private Const EWX_FORCE=4 ' Принудительный выход
Private Const EWX_LOGOFF=0 ' Выход из системы
Private Const EWX_REBOOT=2 ' Перезапуск компьютера
Private Const EWX_SHUTDOWN=1 ' Прекращение работы

Sub Command1_Click ()
  Dim nRet As Long
  '- Перезапуск компьютера
  nRet=ExitWindowsEx (EWX_REBOOT, 0&)
  If nRet=False Then
    MsgBox "Невозможно выйти из Windows"
  End If
End Sub
Записан
ForestG
Гость
« Ответ #3 : 21-11-2009 18:15 » 

Я попробовал ничего не получилось ошибки выдал:)
Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #4 : 23-11-2009 05:33 » 

а если просто вызвать shutdown?

Код:
Использование: shutdown [-i | -l | -s | -r | -a] [-f] [-m \\<компьютер>]
                [-t xx] [-c "комментарий"] [-d up:xx:yy]

        Без аргументов          Вывод справки по использованию (как и -?)
        -i                      Отображение интерфейса, д.быть первым параметром
        -l                      Выход (не совместим с параметром -m)
        -s                      Завершение работы компьютера
        -r                      Перезагрузка компьютера
        -a                      Прекращение завершения работы системы
        -m \\<компьютер>        Удаленный компьютер, на котором выполняется
                                действие
        -t xx                   Таймаут завершения работы - xx сек.
        -c "comment"            Комментарий (не более 127 знаков)
        -f                      Принудительное завершение приложений без
                                предварительного предупреждения
        -d [u][p]:xx:yy         Код причины завершения работы
                                u - пользовательский код
                                p - код запланированного завершения
                                xx - основной код причины (1 - 255)
                                yy - дополнительный код причины (1 - 65535)
Записан

I Have Nine Lives You Have One Only
THINK!
Петр_Иванович
Гость
« Ответ #5 : 17-01-2010 19:14 » new

Я, например, выключаю компьютер с помощью пакетного файла, содержимое которого: shutdown /s /f /t 00. Очень удобно Улыбаюсь.
В Си можно вызвать эту команду через функцию system (как и любую команду командной строки). Например, для очистки консоли подойдет такая строка:

Код:
system("cls");

P.S. Чтобы ее использовать, нужно подключить библиотеку windows.h.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines