none
Программное выключение Windows 10 без установки обновлений RRS feed

  • Общие обсуждения

  • Есть ли у кого работающий способ программно выключить Win10 без установки обновлений?

    Задача - программно экстренно завершать работу системы, а запуск установки обновлений может случится в самый неподходящий момент.

    Проверено, не работает:

    - shutdown /s /t 0, shutdown /p;

    - ExitWindowsEx, InitiateSystemShutdown, InitiateShutdown;

    На данный момент вижу одно решение - убирать имеющиеся для установки обновления в папке %windir%\softwaredistribution\

    2 марта 2017 г. 12:59

Все ответы

  • А у Вас настроена гибернация?
    2 марта 2017 г. 15:03
  • Может через WMI попробовать

    using System.Management;
    
    void Shutdown()
    {
        ManagementBaseObject mboShutdown = null;
        ManagementClass mcWin32 = new ManagementClass("Win32_OperatingSystem");
        mcWin32.Get();
    
        // Set security privileges
        mcWin32.Scope.Options.EnablePrivileges = true;
        ManagementBaseObject mboShutdownParams =
                 mcWin32.GetMethodParameters("Win32Shutdown");
         
        mboShutdownParams["Flags"] = "12 ";//Forced power-off
        mboShutdownParams["Reserved"] = "0";
        foreach (ManagementObject manObj in mcWin32.GetInstances())
        {
            mboShutdown = manObj.InvokeMethod("Win32Shutdown", 
                                           mboShutdownParams, null);
        }
    }

    Добавлено:

    М-да, не посмотрел, что раздел - "низкоуровневое программирование", значит вы ждете на с++. В общем, идея в том чтобы вызвать метод Win32Shutdown класса Win32_OperatingSystem с флагом 12 (Forced Power-Off). Не знаю, как это делается в с++.


    • Изменено VadimTagil 2 марта 2017 г. 15:59 Добавлено
    2 марта 2017 г. 15:46
  • Спасибо, попробую, интересует любое решение, раздел выбрал как наиболее близкий к WinAPI
    2 марта 2017 г. 16:39
  • В общем случае - нет.
    2 марта 2017 г. 16:41