|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
20.04.2009, 05:25 | #1 |
Unix C++ developer
Форумчанин
Регистрация: 16.04.2007
Сообщений: 651
|
Перезагрузка/выключение/блокирование машины на C#
Очень часто звучит вопрос: как программно перезагрузить компьютер, как выключить и т.п.. Иногда такой вопрос начинает мучать и C# программистов
Единственный путь тут - использование WinAPI. Я написал простой и удобный, как мне кажется, класс для выполнения всех вышеописанных действий. Решил поделится, дабы никто из обитателей этой ветки не изобретал велосипеда, перерывая гугл Код:
Lock() - вызов этого метода приведет к блокированию ос (но не выходу из системы!) halt(bool RSh, bool Force) - вызов этого метода приводит к перезагрузке/выключению, вот возможные режимы: Код:
|
01.08.2009, 00:12 | #2 |
Unix C++ developer
Форумчанин
Регистрация: 16.04.2007
Сообщений: 651
|
Просьба к модерам, а нельзя бы это закрепить, что бы не терялось ?
|
01.08.2009, 00:48 | #3 |
Eclipse Foundation
Старожил
Регистрация: 19.09.2007
Сообщений: 2,604
|
Прикрепил.
|
01.08.2009, 01:37 | #4 |
Unix C++ developer
Форумчанин
Регистрация: 16.04.2007
Сообщений: 651
|
Спасибо
|
10.08.2009, 14:31 | #5 |
Пользователь
Регистрация: 21.02.2008
Сообщений: 28
|
Очень интересно. А можешь объяснить подробно, как работает и зачем эта функция?
Код:
Код:
Код:
|
10.08.2009, 15:03 | #6 | |
Unix C++ developer
Форумчанин
Регистрация: 16.04.2007
Сообщений: 651
|
Цитата:
Функция работает следующим образом. Для управления конкретными привилегиями в WinAPI существует специальная структура TokPriv1Luid. Заполняя ее поля так Код:
Но перед тем как управлять привилегиями процесса, необходимо получить особый указатель на процесс - IntPtr. В данной строчке мы получаем указатель на наш процесс: Код:
Код:
Код:
|
|
10.08.2009, 15:07 | #7 |
Пользователь
Регистрация: 21.02.2008
Сообщений: 28
|
Большое Спасибо!
|
23.12.2009, 20:56 | #8 | |
Регистрация: 23.12.2009
Сообщений: 8
|
Цитата:
|
|
15.04.2010, 09:51 | #9 |
Программист тьмы
Форумчанин
Регистрация: 02.09.2009
Сообщений: 227
|
А как насчет WMI?
Класс Win32_OperatingSystem, методы Reboot(), Shutdown(), Win32Shutdown(Flags) |
27.04.2010, 23:17 | #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 |