Убедитесь, что вы используете соответствующий путь. Правильная форма для WSL через Linux - "/mnt/c/Windows/System32/shutdown.exe"
, как указано в prog-fh и code_fodder.
Так что это будет работать: (Я не проверял это в WSL, но вышеупомянутые пользователи сделали и знают, лучше)
std::system("/mnt/c/Windows/System32/shutdown.exe /i");
или для отключения также можно использовать s
:
std::system("/mnt/c/Windows/System32/shutdown.exe /s");
Аналогично, для перезапуска используйте r
:
std::system("/mnt/c/Windows/System32/shutdown.exe /r");