COMO DESLIGAR COMPUTADOR XP/WIN2K COM HORA
Boa tarde galera.
Aqui estou eu de novo pedindo ajuda :)
Após muita pesquisa no forum verifiquei não encontrar o que preciso. Por isso aqui vai:
Preciso de uma ajuda de quem é mais experiente..
Estou querendo construir um progama básico com algumas funçoes de desligar o pc completamente e se possivel forçando-o com horario determinado pelo administrador.
Como:
Gostia de ter a tela de inclusão da hora determinada.
Ao se ligar o micro o programa já inicializa a contagem do tempo silenciosamente.
Gostaria que aparecesse uma mensagem na tela do usuário avisnado que tem 10 minutos para salvar os trabalhos que depois o sistema irá se auto-desligar.
Mas para complementar gostaria de que 5 minutos antes do tempo final a mesma mensagem aparecesse ao usuário e que aparecesse no canto superior esquerdo da tela um relógio contando o tempo decrescente de 05 minutos até 0 minutos e após isso aparecer uma tela novamente informando que tem mais 30 segundos e após isso desligar o micro completamente.
é isso aqui que preciso.
Estou anexando uma parte de um código que funciona. Se ajudar...
Se tiver aguém que possa me dar uma força agradeço.
Até mais galera.
Aqui estou eu de novo pedindo ajuda :)
Após muita pesquisa no forum verifiquei não encontrar o que preciso. Por isso aqui vai:
Preciso de uma ajuda de quem é mais experiente..
Estou querendo construir um progama básico com algumas funçoes de desligar o pc completamente e se possivel forçando-o com horario determinado pelo administrador.
Como:
Gostia de ter a tela de inclusão da hora determinada.
Ao se ligar o micro o programa já inicializa a contagem do tempo silenciosamente.
Gostaria que aparecesse uma mensagem na tela do usuário avisnado que tem 10 minutos para salvar os trabalhos que depois o sistema irá se auto-desligar.
Mas para complementar gostaria de que 5 minutos antes do tempo final a mesma mensagem aparecesse ao usuário e que aparecesse no canto superior esquerdo da tela um relógio contando o tempo decrescente de 05 minutos até 0 minutos e após isso aparecer uma tela novamente informando que tem mais 30 segundos e após isso desligar o micro completamente.
é isso aqui que preciso.
Estou anexando uma parte de um código que funciona. Se ajudar...
Se tiver aguém que possa me dar uma força agradeço.
Até mais galera.
é necessário fazer um form com um campo para digitar a hora, colocar um botão para ativar o timer e um timer. O timer será ativado pelo botão no intervalo 1.O código do timer será:
Se for necessário ocultar o programa, coloque a propriedade visible = false. Não feche o programa para que na determinada hora o pc desligue.
Qualquer dúvida poste aqui de novo.
If Time = Text1.Text Then
Código que desliga o pc
End If
Se for necessário ocultar o programa, coloque a propriedade visible = false. Não feche o programa para que na determinada hora o pc desligue.
Qualquer dúvida poste aqui de novo.
Buenas
Não entendi o exemplo do Alex.
A dúvida ainda continua.
Mas grato pela dica na mesma.
Não entendi o exemplo do Alex.
A dúvida ainda continua.
Mas grato pela dica na mesma.
Amigo use um exemplo meu mesmo ... tem aqui no site, segue o link abaixo:
http://www.vbmania.com.br/vbmania/vbmdetail.php?varID=4150&TxtSearch=desligar%20hora&CmbSort=&varPagina=1
Com certeza vai te ajudar !!
Abraços !!
http://www.vbmania.com.br/vbmania/vbmdetail.php?varID=4150&TxtSearch=desligar%20hora&CmbSort=&varPagina=1
Com certeza vai te ajudar !!
Abraços !!
A dica é boa e funciona do jeito que quero... mas estou com um problema ou o meu cerebro não está conseguindo pensar.
Não estou conseguindo colocar um timer que me informe que falta 10 minutos para desligar o pc e nem o timer para me informar que faltam 5 minutos e colocar o relogio em contagem decrescente e por último a mensagem que tem 30 segundos antes do sistema se desligar.
vou estudar o código do Esley, para ver se chego a algum lado.
Grato por agora
Não estou conseguindo colocar um timer que me informe que falta 10 minutos para desligar o pc e nem o timer para me informar que faltam 5 minutos e colocar o relogio em contagem decrescente e por último a mensagem que tem 30 segundos antes do sistema se desligar.
vou estudar o código do Esley, para ver se chego a algum lado.
Grato por agora
Aqui estou ainda batendo com a cabeça.
Consegui fazer uma parte do que eu queria... segue o código.
Só que me deparei com um outro problema.
Quando inicio o programa as TEXT ficam com a hora do sistem, mas na verdade eu queria que elas ficassem com o horario que quisesse automaticamente... tentei fazer isso, mas não funcionou...
Alguém tem alguma ideia?
O codigo acima chama a mensagem no tempo defenido por mim em cada TEXT.
Grato
Consegui fazer uma parte do que eu queria... segue o código.
Private Sub Command1_Click()
Timer1.Interval = 1000
Timer2.Interval = 1000
Timer3.Interval = 1000
MsgBox ("Seu PC será desligado na data e hora prevista"), vbInformation
'Me.Hide
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_Load()
Text1.Text = Time
Text2.Text = Time
Text3.Text = Time
End Sub
Private Sub Timer1_Timer()
If Text1.Text = Time Then
MsgBox ("falta 10 minutos")
End If
End Sub
Private Sub Timer2_Timer()
If Text2.Text = Time Then
MsgBox ("falta 5 minutos")
End If
End Sub
Private Sub Timer3_Timer()
If Text3.Text = Time Then
MsgBox ("Fim")
'Dim cExitWindows As New clsExitWindows
'cExitWindows.ExitWindows WE_LOGOFF
End If
End Sub
Só que me deparei com um outro problema.
Quando inicio o programa as TEXT ficam com a hora do sistem, mas na verdade eu queria que elas ficassem com o horario que quisesse automaticamente... tentei fazer isso, mas não funcionou...
Alguém tem alguma ideia?
O codigo acima chama a mensagem no tempo defenido por mim em cada TEXT.
Grato
Você gostaria q elas ficassem com a hora que você programou??
Boa noite Alex
Estou querendo que cando se liga o micro o programa rode em silencio e desligue na hora programada previamente pelo administrador, e que uma vez progrmamado não seja necessário programar todos os dias, mas quando for necessário alterar o horario.
Tem jeito.
Estou àhoras batendo com a cabeça no assunto... até já consegui chamar todos os form e count downs necessários.
Att
Estou querendo que cando se liga o micro o programa rode em silencio e desligue na hora programada previamente pelo administrador, e que uma vez progrmamado não seja necessário programar todos os dias, mas quando for necessário alterar o horario.
Tem jeito.
Estou àhoras batendo com a cabeça no assunto... até já consegui chamar todos os form e count downs necessários.
Att
Grava o horário em um arquivo INI e coloca no form_load do formulário o código para carregar os dados do INI. Tbm coloca um atalho para o programa na pasta Iniciar/Programas/Iniciar. Se não entendeu deixa que eu vou fazer um exemplo aqui e vou postar para q vc possa entender.
Alex boa tarde.
Se puder postar o exemplo para mim eu agradeço, pois não entendi muito bem o funiconamento do negocio como você falou.
Mas desde já grato pela dica.
Se puder postar o exemplo para mim eu agradeço, pois não entendi muito bem o funiconamento do negocio como você falou.
Mas desde já grato pela dica.
boa tarde VBmaniacos
Aqui estou eu batendo com a cabeça...
Segui a dica do alex...
até aqui tudo bem, os valores aparecem no caso na TEXT1, mas o programa não chama a função no tempo marcado, conforme abaixo:
Tem alguém por aàpara me tirar dessa??? Help ME
Tanks all
End Sub
Aqui estou eu batendo com a cabeça...
Segui a dica do alex...
Private Sub Form_Load()
Text1.Text = LeEntradaPrivIni("Parametro1", "Texto", "", App.Path & "\INI.INI")
'Text2.Text = Time
'Text3.Text = Time
End Sub
até aqui tudo bem, os valores aparecem no caso na TEXT1, mas o programa não chama a função no tempo marcado, conforme abaixo:
Private Sub Timer1_Timer()
If Text1.Text = Time Then
MsgBox ("falta 10 minutos")
End If
Ainda criei o modulo conforme é necessário, mas nada:
' declares para ler e gravar arquivo INI
Declare Function GravaEntradaPrivIni Lib "kernel32" Alias "WritePrivateProfileStringA" _
(ByVal lpApplicationName As String, ByVal lpKeyName As Any, _
ByVal lpString As Any, _
ByVal lpFileName As String) As Long
Declare Function apiLeEntradaPrivIni Lib "kernel32" Alias "GetPrivateProfileStringA" _
(ByVal lpApplicationName As String, ByVal lpKeyName As Any, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, ByVal nSize As Long, _
ByVal lpFileName As String) As Long
Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" _
(ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer _
As String, ByVal _
nVolumeNameSize As Long, lpVolumeSerialNumber As Long, _
lpMaximumComponentLength As Long, lpFileSystemFlags As Long, _
ByVal lpFileSystemNameBuffer As String, _
ByVal nFileSystemNameSize As Long) As Long
[c]Sub GravaCacheIni(NomeDoINI As String)
Dim ret As Integer
ret = GravaEntradaPrivIni(0&, 0&, 0&, NomeDoINI)
End Sub
Function LeEntradaPrivIni(Secao As String, Entrada As String, _
ByVal ValorDefault As String, NomeDoINI As String) As String
Dim temp As String * 255
Dim ret As Long
ret = apiLeEntradaPrivIni(Secao, Entrada, ValorDefault, _
temp, Len(temp), NomeDoINI)
If ret Then
LeEntradaPrivIni = Left$(temp, ret)
End If
End Function
Tem alguém por aàpara me tirar dessa??? Help ME
Tanks all
End Sub
Tópico encerrado , respostas não são mais permitidas