Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Программное выключение компьютера. Как? (https://forum.antichat.xyz/showthread.php?t=168296)

herfleisch 05.01.2010 00:02

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

Желательно: C#, .NET

Forcer 05.01.2010 00:06

how-to-shutdown-the-computer-from-c#

herfleisch 05.01.2010 00:13

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

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();

Спасибо за многочисленные ответы ))))

_antony 05.01.2010 00:40

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

Код:

MSDN ничего не дал
Такого не бывает :D :D :D ;)

RDL_Rider 06.01.2010 03:16

Цитата:

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

Код:

MSDN ничего не дал
Такого не бывает :D :D :D ;)

+1
такого не бывает. Ну, за редким исключением вроде Ring-0 и т.д. и т.п. ;)

Gar|k 07.01.2010 00:58

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

herfleisch 07.01.2010 16:05

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


Время: 15:00