#vb.net #shutdown
#vb.net #завершение работы
Вопрос:
Помогает магистр, вот мой код, когда я пытаюсь удаленно завершить работу
Process.Start("shutdown", "-s -m \COMPUTER NAME")
Затем, когда я выполнил программу, ничего не происходит..
Я думаю, что мой код неверен или я что-то упускаю.
Комментарии:
Ответ №1:
Команда завершения работы может завершиться неудачно по ряду причин, но вы не проверяете успех. Попробуйте это вместо этого, а затем найдите ошибку.
Dim proc = Process.Start("shutdown", "/s /m \COMPUTER_NAME")
proc.WaitForExit()
If proc.ExitCode <> 0 Then
MsgBox("Failed - Code = " amp; proc.ExitCode)
Else
MsgBox("Success")
End If
Примечание: возможно, вам потребуется запустить приложение как процесс с повышенными правами.
Перед тестированием вашего приложения вы должны проверить, работает ли команда из командной строки.
- Открыть
cmd
- Выполнить
shutdown /s /m \COMPUTER_NAME
- Проверьте вывод и убедитесь, что он работает. Я подозреваю, что вы получите сообщение об ошибке «отказано в доступе». Если это так, щелкните правой кнопкой мыши
cmd
и выберитеLaunch as administrator
. Затем повторите это и убедитесь, что это работает. - Если это не сработает, ваша программа тоже не будет работать. Погуглите
shutdown access denied
и ознакомьтесь с некоторыми советами по устранению неполадок.
Комментарии:
1. Какой приятный маленький фрагмент, я никогда не думал о проверке
ExitCode
свойства!2. спасибо за код, и теперь код выхода, который я получаю, равен «5», и я не знаю, что это значит спасибо за вашу помощь
3. теперь код выхода, который я получаю, равен «5», что означает отказ в доступе.. теперь моя проблема заключается в том, как удалить запрещенный доступ, чтобы я мог удаленно выключать ПК
4. Начните с того, что убедитесь, что вы можете выполнить эту точную команду завершения работы из командной строки. Затем убедитесь, что вы запускаете свое приложение от имени того же пользователя. Если в командной строке требуется приглашение с повышенными правами, вам также потребуется повысить уровень вашего процесса.
5. теперь я не понимаю, как это сделать .. и я понятия не имею