![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Unix C++ developer
Форумчанин
Регистрация: 16.04.2007
Сообщений: 651
|
![]()
Очень часто звучит вопрос: как программно перезагрузить компьютер, как выключить и т.п.. Иногда такой вопрос начинает мучать и C# программистов
![]() Единственный путь тут - использование WinAPI. Я написал простой и удобный, как мне кажется, класс для выполнения всех вышеописанных действий. Решил поделится, дабы никто из обитателей этой ветки не изобретал велосипеда, перерывая гугл ![]() Код:
Lock() - вызов этого метода приведет к блокированию ос (но не выходу из системы!) halt(bool RSh, bool Force) - вызов этого метода приводит к перезагрузке/выключению, вот возможные режимы: Код:
![]() |
![]() |
![]() |
![]() |
#2 |
Unix C++ developer
Форумчанин
Регистрация: 16.04.2007
Сообщений: 651
|
![]()
Просьба к модерам, а нельзя бы это закрепить, что бы не терялось ?
![]() |
![]() |
![]() |
![]() |
#3 |
Eclipse Foundation
Старожил
Регистрация: 19.09.2007
Сообщений: 2,604
|
![]()
Прикрепил.
|
![]() |
![]() |
![]() |
#4 |
Unix C++ developer
Форумчанин
Регистрация: 16.04.2007
Сообщений: 651
|
![]()
Спасибо
![]() |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 21.02.2008
Сообщений: 28
|
![]()
Очень интересно. А можешь объяснить подробно, как работает и зачем эта функция?
Код:
Код:
Код:
|
![]() |
![]() |
![]() |
#6 | |
Unix C++ developer
Форумчанин
Регистрация: 16.04.2007
Сообщений: 651
|
![]() Цитата:
Функция работает следующим образом. Для управления конкретными привилегиями в WinAPI существует специальная структура TokPriv1Luid. Заполняя ее поля так Код:
Но перед тем как управлять привилегиями процесса, необходимо получить особый указатель на процесс - IntPtr. В данной строчке мы получаем указатель на наш процесс: Код:
Код:
Код:
|
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 21.02.2008
Сообщений: 28
|
![]()
Большое Спасибо!
![]() |
![]() |
![]() |
![]() |
#8 | |
Регистрация: 23.12.2009
Сообщений: 8
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#9 |
Программист тьмы
Форумчанин
Регистрация: 02.09.2009
Сообщений: 227
|
![]()
А как насчет WMI?
Класс Win32_OperatingSystem, методы Reboot(), Shutdown(), Win32Shutdown(Flags) |
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 27.04.2010
Сообщений: 22
|
![]()
а чем cmd не устраивает?
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Блокирование ALT+F4 | Killbrum | Win Api | 5 | 14.03.2009 12:23 |
Выключение и перезагрузка | Патрон | Win Api | 8 | 26.03.2008 16:24 |
Выключение/Перезагрузка в Vista | Veiron | Общие вопросы Delphi | 5 | 13.01.2008 09:35 |
блокирование функции | Fireleo | Win Api | 5 | 29.07.2007 17:04 |
выключение, перезагрузка компьютера | ATL | Win Api | 4 | 16.05.2007 01:57 |