AGENDAR DESLIGAMENTO DO WINDOWS
Estou tentando criar um algoritmo que ao colocar o valor de espera em uma [Ô]TextBox[Ô] e logo em seguida escolher [Ô]Desligar, Reiniciar e LogOff[Ô] o botão selecionado realize tal tarefa em determinado tempo digitado pelo usuário.
O Problema é que quando coloca um valor na [Ô]TextBox[Ô] (Ex. Desligar em 3600seg ou seja uma hora) ele desliga automaticamente, ignorando o valor inserido.
<Código Fonte>
Public Class FrmPrincipal
Dim tempo As Integer
Dim desligar As String = ([Ô]shutdown /s /t[Ô] & (tempo))
Dim reiniciar As String = ([Ô]shutdown /r /t[Ô] & (tempo))
Dim logoff As String = ([Ô]shutdown /l /t[Ô] & (tempo))
Private Sub btlogoff_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btlogoff.Click
If txttempo.Text = [Ô][Ô] Then
MessageBox.Show([Ô]Digite o TEMPO determinado em SEGUNDOS no campo abaixo![Ô], [Ô]LOGOFF[Ô],MessageBoxButtons.OK ,MessageBoxIcon.Information )
Else : tempo = txttempo.Text
Shell([Ô]cmd.exe /c[Ô] & logoff)
End If
End Sub
Private Sub btdesligar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btdesligar.Click
If txttempo.Text = [Ô][Ô] Then
MessageBox.Show([Ô]Digite o TEMPO determinado em SEGUNDOS no campo abaixo![Ô], [Ô]DESLIGAR[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information)
Else : tempo = txttempo.Text
Shell([Ô]cmd.exe /c [Ô] & desligar)
End If
End Sub
Private Sub btreiniciar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btreiniciar.Click
If txttempo.Text = [Ô][Ô] Then
MessageBox.Show([Ô]Digite o TEMPO determinado em SEGUNDOS no campo abaixo![Ô], [Ô]REINICIAR[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information)
Else : tempo = txttempo.Text
Shell([Ô]cmd.exe /c [Ô] & reiniciar)
End If
End Sub
Private Sub btcancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btcancelar.Click
System.Diagnostics.Process.Start([Ô]shutdown[Ô], [Ô]-a[Ô])
End Sub
Endclass
O Problema é que quando coloca um valor na [Ô]TextBox[Ô] (Ex. Desligar em 3600seg ou seja uma hora) ele desliga automaticamente, ignorando o valor inserido.
<Código Fonte>
Public Class FrmPrincipal
Dim tempo As Integer
Dim desligar As String = ([Ô]shutdown /s /t[Ô] & (tempo))
Dim reiniciar As String = ([Ô]shutdown /r /t[Ô] & (tempo))
Dim logoff As String = ([Ô]shutdown /l /t[Ô] & (tempo))
Private Sub btlogoff_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btlogoff.Click
If txttempo.Text = [Ô][Ô] Then
MessageBox.Show([Ô]Digite o TEMPO determinado em SEGUNDOS no campo abaixo![Ô], [Ô]LOGOFF[Ô],MessageBoxButtons.OK ,MessageBoxIcon.Information )
Else : tempo = txttempo.Text
Shell([Ô]cmd.exe /c[Ô] & logoff)
End If
End Sub
Private Sub btdesligar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btdesligar.Click
If txttempo.Text = [Ô][Ô] Then
MessageBox.Show([Ô]Digite o TEMPO determinado em SEGUNDOS no campo abaixo![Ô], [Ô]DESLIGAR[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information)
Else : tempo = txttempo.Text
Shell([Ô]cmd.exe /c [Ô] & desligar)
End If
End Sub
Private Sub btreiniciar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btreiniciar.Click
If txttempo.Text = [Ô][Ô] Then
MessageBox.Show([Ô]Digite o TEMPO determinado em SEGUNDOS no campo abaixo![Ô], [Ô]REINICIAR[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information)
Else : tempo = txttempo.Text
Shell([Ô]cmd.exe /c [Ô] & reiniciar)
End If
End Sub
Private Sub btcancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btcancelar.Click
System.Diagnostics.Process.Start([Ô]shutdown[Ô], [Ô]-a[Ô])
End Sub
Endclass
melhor procurar entender timer pra vc fazer isso melhor....
fora q da sem chamar prompt
fora q da sem chamar prompt
Private Sub btnDesligar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDesligar.Click
[ô]Desliga o Computador
System.Diagnostics.Process.Start([Ô]shutdown[Ô], [Ô]-s -t 00[Ô])
End Sub
Private Sub btnReiniciar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReiniciar.Click
[ô]Reinicia o Computador
System.Diagnostics.Process.Start([Ô]shutdown[Ô], [Ô]-r -t 00[Ô])
End Sub
Private Sub btnLogoff_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogoff.Click
[ô]Faz LogOff no Computador
System.Diagnostics.Process.Start([Ô]shutdown[Ô], [Ô]-l -t 00[Ô])
End Sub
Eu remontei meu algoritmo tirando as variáveis e colocando pra pegar o valor direto da [Ô]TextBox[Ô], só que o único detalhe é que tem que antes de inserir o valor tem que colocar um espaço para o prompt de comando entender que o valor da textbox é o tempo em que ele irá demorar pra realizar a tarefa.
<Código Fonte>
<Código Fonte>
Public Class FrmPrincipal
Private Sub btlogoff_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btlogoff.Click
If txttempo.Text = [Ô][Ô] Then
MessageBox.Show([Ô]Digite o TEMPO determinado em SEGUNDOS no campo abaixo![Ô], [Ô]LOGOFF[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information)
[ô]Else : System.Diagnostics.Process.Start([Ô]shutdown[Ô], [Ô]-l -t[Ô] & ([Ô] [Ô]) & (txttempo.Text))
Else : System.Diagnostics.Process.Start([Ô]shutdown[Ô], [Ô]-l -t[Ô] & (txttempo.Text))
End If
End Sub
Private Sub btdesligar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btdesligar.Click
If txttempo.Text = [Ô][Ô] Then
MessageBox.Show([Ô]Digite o TEMPO determinado em SEGUNDOS no campo abaixo![Ô], [Ô]DESLIGAR[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information)
Else : System.Diagnostics.Process.Start([Ô]shutdown[Ô], [Ô]-s -t[Ô] & (txttempo.Text))
End If
End Sub
Private Sub btreiniciar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btreiniciar.Click
If txttempo.Text = [Ô][Ô] Then
MessageBox.Show([Ô]Digite o TEMPO determinado em SEGUNDOS no campo abaixo![Ô], [Ô]REINICIAR[Ô], MessageBoxButtons.OK, MessageBoxIcon.Information)
Else : System.Diagnostics.Process.Start([Ô]shutdown[Ô], [Ô]-r -t[Ô] & (txttempo.Text))
End If
End Sub
End class
System.Diagnostics.Process.Start([Ô]shutdown[Ô], [Ô]-r -t [Ô] & cint(txttempo.texto) & [Ô][Ô][Ô])
não me recordo se é assim q vc vai fechar a aspas, veja q vc fecha no final após o valor.....
mas tem outras formas de vc montar uma string, se não me engano stringbuilder.append vc pode ir adicionando coisas a ela, e depois passa uma coisa so ao comando....
de qq forma se fosse eu manteria o comando padrão System.Diagnostics.Process.Start([Ô]shutdown[Ô], [Ô]-l -t 00[Ô]) e apenas o dispararia qnd o tempo tivesse passado através do timer....
Esta em vb6, mas roda em tudo.
Tópico encerrado , respostas não são mais permitidas