HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Программное выключение компьютера. Как?
  #1  
Старый 05.01.2010, 00:02
herfleisch
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
С нами: 9126697

Репутация: 97
По умолчанию Программное выключение компьютера. Как?

В общем, возникла потребность программного выключения компьютера. Т.е. когда происходит определённое событие, программа должна выключить компьютер без предупреждения. MSDN ничего не дал. Поиск по форуму - тоже. В какую сторону рыть? Пните уже куда-нибудь.

Желательно: C#, .NET
 
Ответить с цитированием

  #2  
Старый 05.01.2010, 00:06
Forcer
Постоянный
Регистрация: 12.04.2007
Сообщений: 413
С нами: 10042776

Репутация: 275
По умолчанию

 
Ответить с цитированием

  #3  
Старый 05.01.2010, 00:13
herfleisch
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
С нами: 9126697

Репутация: 97
По умолчанию

Собственно, на предоставленной ссылке нижеследующий код:
Код:
using System.Management;

    void Shutdown()
    {
        ManagementBaseObject mboShutdown = null;
        ManagementClass mcWin32 = new ManagementClass("Win32_OperatingSystem");
        mcWin32.Get();

        // You can't shutdown without security privileges
        mcWin32.Scope.Options.EnablePrivileges = true;
        ManagementBaseObject mboShutdownParams =
                 mcWin32.GetMethodParameters("Win32Shutdown");

        // Flag 1 means we want to shut down the system. Use "2" to reboot.
        mboShutdownParams["Flags"] = "1";
        mboShutdownParams["Reserved"] = "0";
        foreach (ManagementObject manObj in mcWin32.GetInstances())
        {
            mboShutdown = manObj.InvokeMethod("Win32Shutdown", 
                                           mboShutdownParams, null);
        }
    }
Я тут ещё нарыл один способ, но он не хочет работать... Может кому пригодится:
Код:
System.Diagnostics.Process p=new System.Diagnostics.Process();
p.StartInfo.FileName="cmd.exe";
p.StartInfo.Arguments="/c shutdown -s";
p.Start();
Спасибо за многочисленные ответы ))))
 
Ответить с цитированием

  #4  
Старый 05.01.2010, 00:40
_antony
Познающий
Регистрация: 16.07.2008
Сообщений: 82
С нами: 9379631

Репутация: 142
По умолчанию

http://msdn.microsoft.com/en-us/library/aa376868%28VS.85%29.aspx

Код:
MSDN ничего не дал
Такого не бывает
 
Ответить с цитированием

  #5  
Старый 06.01.2010, 03:16
RDL_Rider
Познающий
Регистрация: 21.06.2009
Сообщений: 81
С нами: 8888963

Репутация: 5
По умолчанию

Цитата:
Сообщение от _antony  
http://msdn.microsoft.com/en-us/library/aa376868%28VS.85%29.aspx

Код:
MSDN ничего не дал
Такого не бывает
+1
такого не бывает. Ну, за редким исключением вроде Ring-0 и т.д. и т.п.
 
Ответить с цитированием

  #6  
Старый 07.01.2010, 00:58
Gar|k
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
С нами: 9023100

Репутация: 395


По умолчанию

RDL_Rider функции и структуры ядра системы тоже не описаны в MSDN / ring 3
 
Ответить с цитированием

  #7  
Старый 07.01.2010, 16:05
herfleisch
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
С нами: 9126697

Репутация: 97
По умолчанию

Да, забыл добавить... Доступа к MSDN.com у меня нет. Есть только установленные MSDN Express. А там, как известно, много чего нет...
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как определить, что Ваш ребенок растет хакером? PHOEN_i_X Болталка 148 13.06.2010 18:02
FAQ. Перед тем как задать вопрос. Fata1ex Skype, IRC, ICQ, Jabber и другие IM 1 04.11.2007 20:35
Мой ржачный разговор в аське с кем-то вроде как с античата, как я подумал Дрэгги Болталка 21 22.07.2007 12:33



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.