Завершение работы Windows - команда выключения или ExitWindowsEx - PullRequest
1 голос
/ 21 февраля 2012

Я хочу знать, какой метод рекомендуется использовать для перезагрузки, завершения работы, выхода из системы или перехода в спящий режим Windows:

  1. Использование ExitWindowsEx API
  2. Используйте команду Shutdown и ее параметры

В чем преимущества и недостатки каждого подхода?

Спасибо

Ответы [ 2 ]

6 голосов
/ 21 февраля 2012

Я всегда предпочитаю вызывать API (ExitWindowsEx, InitiateSystemShutdown).

Pro API

  • GetLastError можно использовать для диагностики ошибок
  • Youполучить доступ ко всему API, а не только к тем, что предоставляет утилита
  • Вам не нужно беспокоиться о перенаправлении файловой системы и о том, существует ли инструмент в домашних версиях Windows
  • Документированоинтерфейс остается прежним, параметры командной строки могут изменяться или отличаться на другом языке

Внешний инструмент Pro

  • Упрощает выполнение некоторых сложных задач (Некоторые вещи требуют отсутствия документовAPI)
  • Мало ошибок, и если есть ошибки, они не ваши;)
0 голосов
/ 21 февраля 2012

Они разные.

Используя API, вы можете применять больше логики в своей программе, например, получать текущее состояние и т. Д.

Используя команду, вы можете просто выполнять действия.

...