Codigo para desligar e reiniciar computador??

Boa noite a todos os utilizadores....

estou a tentar desenvolver um programa que deslige, reinicie e faça log off ao computador...

ja elaborei o codigo com base em algumas pesquisas que adaptei ao meu caso...

o problema é que apenas faz log off(termina secção), o desligar e o reiniciar nao trabalhao...


o meu codigo é o seguinte:

Código:
Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
Const EWX_LOGOFF = 0
Const EWX_SHUTDOWN = 1
Const EWX_REBOOT = 2
Const EWX_FORCE = 4
Const EWX_POWEROFF = 8
Const EWX_RESET = EWX_LOGOFF + EWX_FORCE + EWX_REBOOT

Private Sub Command1_Click()
Dim X As Long

X = ExitWindowsEx(EWX_REBOOT, dwReserved)
End Sub

Private Sub Command2_Click()
Dim X As Long

X = ExitWindowsEx(EWX_SHUTDOWN, dwReserved)
End Sub

Private Sub Command3_Click()
Dim X As Long

X = ExitWindowsEx(EWX_LOGOFF, dwReserved)
End Sub
sendo que o command1 serve para reiniciar o 2 para desligar e o 3 para terminar secção, porem apenas o command3 funciona...

alguem me pode ajudar a por o computador a desligar e reiniciar????? :hmm: :hmm: :hmm: :hmm:
 
Última edição pelo moderador:
desligar
Código:
Shell ("shutdown -s -f -t 00")
reiniciar
Código:
Shell ("shutdown -r")

shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f]
[/m \\computador][/t xxx][/d [p|u:]xx:yy [/c "coment*rio"]]

Sem argumentos Mostra ajuda. � o mesmo que escrever /?.
/? Mostra ajuda. � o mesmo que nÆo especificar op‡äes.
/i Mostra a interface gr*fica do utilizador (GUI).
Tem de ser a primeira op‡Æo.
/l Termina a sessÆo. NÆo pode ser utilizado com a op‡Æo /m ou /d.
/s Encerra o computador.
/r Encerra e reinicia o computador.
/g Encerra e reinicia o computador. Depois de o sistema ser
reiniciado, reinicie quaisquer aplica‡äes registada.
/a Aborta um encerramento do sistema.
S¢ pode ser utilizado durante o limite de tempo excedido.
/p Desliga o computador local sem tempo limite ou aviso.
Pode ser utilizado com as op‡äes /d e /f.
/h Hiberna o computador local.
Pode ser utilizado com a op‡Æo /f.
/e Documenta a razÆo para um encerramento inesperado de um computador.
/m \\computador Especifica o computador de destino.
/t xxx Define o per¡odo de limite de tempo excedido para xxx segundo antes do encerramento.
como xxx segundos. O intervalo v*lido ‚ 0 a 600,
com um valor predefinido de 30.
A utiliza‡Æo de /t xxx implica a op‡Æo /f.
/c "coment*rio"
Comenta o motivo para o rein¡cio ou encerramento.
M*ximo de 512 caracteres permitidos.
/f For‡a o fecho das aplica‡äes em execu‡Æo sem pr‚-aviso para os utilizadores.
/f ‚ definido automaticamente quando utilizado juntamente com /t xxx.
/d [p|u:]xx:yy Fornece a razÆo do rein¡cio ou do encerramento.
p indica que o rein¡cio ou encerramento est* planeado.
u indica que a razÆo ‚ definida pelo utilizador.
se p nem u for especificado, o rein¡cio ou o encerramento nÆo ‚ planeado.
xx ‚ o n£mero de razÆo maior (inteiro positivo menor que 256).
yy ‚ o n£mero de razÆo menor (inteiro positivo menor que 65536).
 
Última edição:
pelo que percebi queres mexer com o system

pelo que vi estas a usar vb

em c# , tal como em vb tens um namespace system menagement, que podes mecer com tudo o que é de sistema.

ex: ver temperatura de cpu, criares um task manager, fazeres loguin e log of, teres a props da board etc etc etc

vai ao google e poe system menagement vb.net
 
Isso em C++ e C# é só fazer um system("shutdown -flag"); em que a flag é a opção que tu queres. Penso que é assim, já testei uma vez, mas não me lembro exactamente da sintaxe.
 
Back
Topo