Диалог выключения Windows - PullRequest
4 голосов
/ 16 марта 2009

Есть ли способ вызвать диалоговое окно завершения работы Windows XP (с тремя кнопками - «Приостановить», «Выключить», «Перезапустить» и «Спящий режим» при нажатии Shift), используя любой язык (предпочтительно: C / C ++, VB, Haskell, пакеты) )

Я думаю, что могу загрузить msgina.dll в мою программу на C ++, но я не знаю, что делать дальше - какая функция в dll используется для отображения диалога?

Ответы [ 2 ]

5 голосов
/ 16 марта 2009

Предполагая, что на вашем языке есть способ выполнить базовый файловый ввод-вывод и вызвать ярлыки в Windows, попробуйте этот совет из здесь :

  • Создайте новый txt-файл где-нибудь в вашей системе, откройте его и вставьте в одну строку: (new ActiveXObject("Shell.Application")).ShutdownWindows();
  • Сохраните и закройте файл. Измените расширение на *.js.
  • Вы можете создать ярлык для этого файла, чтобы облегчить выключение вашей системы.
2 голосов
/ 16 марта 2009

Я считаю PowerShell более элегантным, чем другие варианты сценариев Windows.

(New-Object -Com Shell.Application).ShutdownWindows()
...