ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
Программное выключение компьютера. Как? |

05.01.2010, 00:02
|
|
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
Провел на форуме: 745649
Репутация:
97
|
|
Программное выключение компьютера. Как?
В общем, возникла потребность программного выключения компьютера. Т.е. когда происходит определённое событие, программа должна выключить компьютер без предупреждения. MSDN ничего не дал. Поиск по форуму - тоже. В какую сторону рыть? Пните уже куда-нибудь.
Желательно: C#, .NET
|
|
|

05.01.2010, 00:06
|
|
Постоянный
Регистрация: 12.04.2007
Сообщений: 413
Провел на форуме: 3578578
Репутация:
275
|
|
|
|
|

05.01.2010, 00:13
|
|
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
Провел на форуме: 745649
Репутация:
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();
Спасибо за многочисленные ответы ))))
|
|
|

05.01.2010, 00:40
|
|
Познающий
Регистрация: 16.07.2008
Сообщений: 82
Провел на форуме: 424387
Репутация:
142
|
|
|
|
|

06.01.2010, 03:16
|
|
Познающий
Регистрация: 21.06.2009
Сообщений: 81
Провел на форуме: 77148
Репутация:
5
|
|
+1
такого не бывает. Ну, за редким исключением вроде Ring-0 и т.д. и т.п. 
|
|
|

07.01.2010, 00:58
|
|
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме: 991929
Репутация:
395
|
|
RDL_Rider функции и структуры ядра системы тоже не описаны в MSDN / ring 3
|
|
|

07.01.2010, 16:05
|
|
Участник форума
Регистрация: 07.01.2009
Сообщений: 237
Провел на форуме: 745649
Репутация:
97
|
|
Да, забыл добавить... Доступа к MSDN.com у меня нет. Есть только установленные MSDN Express. А там, как известно, много чего нет...
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|