ATUALIZAR DATA/HORA VB.NET
Olá,
Hoje se foi a minha pilha da bios.. Sei que é barata mas sempre é bom ter um quebra galho..
Alguém sabe como fazer um aplicativo para buscar a data e hora atual em um site (servidor) e atualize a data e hora do windows 7? Se possÃvel depois é só colocar uma chave no registro, assim a aplicativo inicia com windows e atualiza automaticamente.
Hoje se foi a minha pilha da bios.. Sei que é barata mas sempre é bom ter um quebra galho..
Alguém sabe como fazer um aplicativo para buscar a data e hora atual em um site (servidor) e atualize a data e hora do windows 7? Se possÃvel depois é só colocar uma chave no registro, assim a aplicativo inicia com windows e atualiza automaticamente.
Segue alguns Links..
https://social.msdn.microsoft.com/Forums/pt-BR/0c87eef6-9e74-4524-ad5a-eb6c0435bcb8/alterar-data-do-sistema-vb2005
http://forum.clubedohardware.com.br/topic/994635-resolvido-atualizar-hora-automaticamente-ao-iniciar-o-windows/
https://social.msdn.microsoft.com/Forums/pt-BR/0c87eef6-9e74-4524-ad5a-eb6c0435bcb8/alterar-data-do-sistema-vb2005
http://forum.clubedohardware.com.br/topic/994635-resolvido-atualizar-hora-automaticamente-ao-iniciar-o-windows/
Gostaria de fazer o ajuste automático por um servidor ex: http://www.horariodebrasilia.org/
Quando abrir o form ele atualize a data e hora assim como disse coloco o programa para iniciar com o windows assim fica automatico.
Quando abrir o form ele atualize a data e hora assim como disse coloco o programa para iniciar com o windows assim fica automatico.
Como eu passo a data e hora do site http://www.horariodebrasilia.org/ para uma textbox ou label?
Vi que a ID = relogio
sei passar o valor da textbox para o site mas não do site para textbox
Vi que a ID = relogio
sei passar o valor da textbox para o site mas não do site para textbox
tenta isso...
YourLabel.Text = Wb.Document.GetElementById([Ô]yourId[Ô]).GetAttribute([Ô]value[Ô])
YourLabel.Text = Wb.Document.GetElementById([Ô]yourId[Ô]).GetAttribute([Ô]value[Ô])
A label desaparece.. quando clico no botão
WebBrowser1.Navigate([Ô]http://www.horacerta.com.br/[Ô])
Label1.Text = WebBrowser1.Document.GetElementById([Ô]mostrador[Ô]).GetAttribute([Ô]value[Ô])
WebBrowser1.Navigate([Ô]http://www.horacerta.com.br/[Ô])
Label1.Text = WebBrowser1.Document.GetElementById([Ô]mostrador[Ô]).GetAttribute([Ô]value[Ô])
voce tem que colocar Label1.Text = WebBrowser1.Document.GetElementById([Ô]mostrador[Ô]).GetAttribute([Ô]value[Ô]) isso no documentcompleted do webbrowser...
Aqui use isto....
Imports System.Net.Sockets
Imports System.Net
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Label1.Text = GetNetworkTime()
End Sub
Public Shared Function GetNetworkTime() As DateTime
[ô]Servidor nacional para melhor latência
Const ntpServer As String = [Ô]a.ntp.br[Ô]
[ô] Tamanho da mensagem NTP - 16 bytes (RFC 2030)
Dim ntpData = New Byte(47) {}
[ô]Indicador de Leap (ver RFC), Versão e Modo
ntpData(0) = &H1B
[ô]LI = 0 (sem warnings), VN = 3 (IPv4 apenas), Mode = 3 (modo cliente)
Dim addresses = Dns.GetHostEntry(ntpServer).AddressList
[ô]123 é a porta padrão do NTP
Dim ipEndPoint = New IPEndPoint(addresses(0), 123)
[ô]NTP usa UDP
Dim socket = New Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp)
socket.Connect(ipEndPoint)
[ô]Caso NTP esteja bloqueado, ao menos nao trava o app
socket.ReceiveTimeout = 3000
socket.Send(ntpData)
socket.Receive(ntpData)
socket.Close()
[ô]Offset para chegar no campo [Ô]Transmit Timestamp[Ô] (que é
[ô]o do momento da saÃda do servidor, em formato 64-bit timestamp
Const serverReplyTime As Byte = 40
[ô]Pegando os segundos
Dim intPart As ULong = BitConverter.ToUInt32(ntpData, serverReplyTime)
[ô]e a fração de segundos
Dim fractPart As ULong = BitConverter.ToUInt32(ntpData, serverReplyTime + 4)
[ô]Passando de big-endian pra little-endian
intPart = SwapEndianness(intPart)
fractPart = SwapEndianness(fractPart)
Dim milliseconds = (intPart * 1000) + ((fractPart * 1000) / &H100000000L)
[ô]Tempo em **UTC**
Dim networkDateTime = (New DateTime(1900, 1, 1, 0, 0, 0, DateTimeKind.Utc)).AddMilliseconds(CLng(milliseconds))
Return networkDateTime.ToLocalTime()
End Function
[ô] stackoverflow.com/a/3294698/162671
Private Shared Function SwapEndianness(x As ULong) As UInteger
Return CUInt(((x And &HFF) << 24) + ((x And &HFF00) << 8) + ((x And &HFF0000) >> 8) + ((x And &HFF000000UI) >> 24))
End Function
End Class
Imports System.Net.Sockets
Imports System.Net
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Label1.Text = GetNetworkTime()
End Sub
Public Shared Function GetNetworkTime() As DateTime
[ô]Servidor nacional para melhor latência
Const ntpServer As String = [Ô]a.ntp.br[Ô]
[ô] Tamanho da mensagem NTP - 16 bytes (RFC 2030)
Dim ntpData = New Byte(47) {}
[ô]Indicador de Leap (ver RFC), Versão e Modo
ntpData(0) = &H1B
[ô]LI = 0 (sem warnings), VN = 3 (IPv4 apenas), Mode = 3 (modo cliente)
Dim addresses = Dns.GetHostEntry(ntpServer).AddressList
[ô]123 é a porta padrão do NTP
Dim ipEndPoint = New IPEndPoint(addresses(0), 123)
[ô]NTP usa UDP
Dim socket = New Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp)
socket.Connect(ipEndPoint)
[ô]Caso NTP esteja bloqueado, ao menos nao trava o app
socket.ReceiveTimeout = 3000
socket.Send(ntpData)
socket.Receive(ntpData)
socket.Close()
[ô]Offset para chegar no campo [Ô]Transmit Timestamp[Ô] (que é
[ô]o do momento da saÃda do servidor, em formato 64-bit timestamp
Const serverReplyTime As Byte = 40
[ô]Pegando os segundos
Dim intPart As ULong = BitConverter.ToUInt32(ntpData, serverReplyTime)
[ô]e a fração de segundos
Dim fractPart As ULong = BitConverter.ToUInt32(ntpData, serverReplyTime + 4)
[ô]Passando de big-endian pra little-endian
intPart = SwapEndianness(intPart)
fractPart = SwapEndianness(fractPart)
Dim milliseconds = (intPart * 1000) + ((fractPart * 1000) / &H100000000L)
[ô]Tempo em **UTC**
Dim networkDateTime = (New DateTime(1900, 1, 1, 0, 0, 0, DateTimeKind.Utc)).AddMilliseconds(CLng(milliseconds))
Return networkDateTime.ToLocalTime()
End Function
[ô] stackoverflow.com/a/3294698/162671
Private Shared Function SwapEndianness(x As ULong) As UInteger
Return CUInt(((x And &HFF) << 24) + ((x And &HFF00) << 8) + ((x And &HFF0000) >> 8) + ((x And &HFF000000UI) >> 24))
End Function
End Class
[txt-color=#e80000]Ao terminar nao esquece de fechar o topico e pontuar...[/txt-color]
Tudo certo com os 2 post do KURTGU apená adaptei algumas funções.. Para quem quiser fica abaixo:
Imports System.Net.Sockets
Imports System.Net
Imports System.IO
Public Class Form1
Private Sub NotifyIcon1_MouseDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles NotifyIcon1.MouseDoubleClick
Me.WindowState = FormWindowState.Normal [ô]abre o aplicativo com duplo click[ô]
Me.Show()
End Sub
Private Function InternetConnection() As Boolean [ô]Checa se o pc está conectado a internet[ô]
Dim req As System.Net.WebRequest = System.Net.WebRequest.Create([Ô]http://www.google.com/[Ô])
Dim resp As System.Net.WebResponse
Try
resp = req.GetResponse()
resp.Close()
req = Nothing
Return True
Catch ex As Exception
req = Nothing
Return False
End Try
End Function
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.WindowState = FormWindowState.Minimized [ô]inicia minimizado[ô]
[ô]Cria registro para iniciar com o windows[ô]
Dim FileName As String
Dim FilePath As Object
Dim RegistryKey As Object
FileName = [Ô]AutoDataHora.exe[Ô]
FilePath = Path.GetFullPath(FileName)
RegistryKey = CreateObject([Ô]WScript.Shell[Ô])
RegistryKey.RegWrite([Ô]HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\AutoDataHora[Ô], FilePath)
If InternetConnection() = False Then [ô]Se não tem conexão com internet[ô]
MsgBox([Ô]Não é possivel ajustar a data e hora! Você não está conectado a internet![Ô])
Else
[ô]Se tiver conexão com internet ajusta data e hora[ô]
Label1.Text = GetNetworkTime()
Today = CDate((Label1.Text))
TimeOfDay = CDate((Label1.Text))
End If
End Sub
Public Shared Function GetNetworkTime() As DateTime
[ô]Servidor nacional para melhor latência
Const ntpServer As String = [Ô]a.ntp.br[Ô]
[ô] Tamanho da mensagem NTP - 16 bytes (RFC 2030)
Dim ntpData = New Byte(47) {}
[ô]Indicador de Leap (ver RFC), Versão e Modo
ntpData(0) = &H1B
[ô]LI = 0 (sem warnings), VN = 3 (IPv4 apenas), Mode = 3 (modo cliente)
Dim addresses = Dns.GetHostEntry(ntpServer).AddressList
[ô]123 é a porta padrão do NTP
Dim ipEndPoint = New IPEndPoint(addresses(0), 123)
[ô]NTP usa UDP
Dim socket = New Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp)
socket.Connect(ipEndPoint)
[ô]Caso NTP esteja bloqueado, ao menos nao trava o app
socket.ReceiveTimeout = 3000
socket.Send(ntpData)
socket.Receive(ntpData)
socket.Close()
[ô]Offset para chegar no campo [Ô]Transmit Timestamp[Ô] (que é
[ô]o do momento da saÃda do servidor, em formato 64-bit timestamp
Const serverReplyTime As Byte = 40
[ô]Pegando os segundos
Dim intPart As ULong = BitConverter.ToUInt32(ntpData, serverReplyTime)
[ô]e a fração de segundos
Dim fractPart As ULong = BitConverter.ToUInt32(ntpData, serverReplyTime + 4)
[ô]Passando de big-endian pra little-endian
intPart = SwapEndianness(intPart)
fractPart = SwapEndianness(fractPart)
Dim milliseconds = (intPart * 1000) + ((fractPart * 1000) / &H100000000L)
[ô]Tempo em **UTC**
Dim networkDateTime = (New DateTime(1900, 1, 1, 0, 0, 0, DateTimeKind.Utc)).AddMilliseconds(CLng(milliseconds))
Return networkDateTime.ToLocalTime()
End Function
[ô] stackoverflow.com/a/3294698/162671
Private Shared Function SwapEndianness(x As ULong) As UInteger
Return CUInt(((x And &HFF) << 24) + ((x And &HFF00) << 8) + ((x And &HFF0000) >> 8) + ((x And &HFF000000UI) >> 24))
End Function
End Class
(uma grande ajuda para que fica sem pilha da bios)
Imports System.Net.Sockets
Imports System.Net
Imports System.IO
Public Class Form1
Private Sub NotifyIcon1_MouseDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles NotifyIcon1.MouseDoubleClick
Me.WindowState = FormWindowState.Normal [ô]abre o aplicativo com duplo click[ô]
Me.Show()
End Sub
Private Function InternetConnection() As Boolean [ô]Checa se o pc está conectado a internet[ô]
Dim req As System.Net.WebRequest = System.Net.WebRequest.Create([Ô]http://www.google.com/[Ô])
Dim resp As System.Net.WebResponse
Try
resp = req.GetResponse()
resp.Close()
req = Nothing
Return True
Catch ex As Exception
req = Nothing
Return False
End Try
End Function
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.WindowState = FormWindowState.Minimized [ô]inicia minimizado[ô]
[ô]Cria registro para iniciar com o windows[ô]
Dim FileName As String
Dim FilePath As Object
Dim RegistryKey As Object
FileName = [Ô]AutoDataHora.exe[Ô]
FilePath = Path.GetFullPath(FileName)
RegistryKey = CreateObject([Ô]WScript.Shell[Ô])
RegistryKey.RegWrite([Ô]HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\AutoDataHora[Ô], FilePath)
If InternetConnection() = False Then [ô]Se não tem conexão com internet[ô]
MsgBox([Ô]Não é possivel ajustar a data e hora! Você não está conectado a internet![Ô])
Else
[ô]Se tiver conexão com internet ajusta data e hora[ô]
Label1.Text = GetNetworkTime()
Today = CDate((Label1.Text))
TimeOfDay = CDate((Label1.Text))
End If
End Sub
Public Shared Function GetNetworkTime() As DateTime
[ô]Servidor nacional para melhor latência
Const ntpServer As String = [Ô]a.ntp.br[Ô]
[ô] Tamanho da mensagem NTP - 16 bytes (RFC 2030)
Dim ntpData = New Byte(47) {}
[ô]Indicador de Leap (ver RFC), Versão e Modo
ntpData(0) = &H1B
[ô]LI = 0 (sem warnings), VN = 3 (IPv4 apenas), Mode = 3 (modo cliente)
Dim addresses = Dns.GetHostEntry(ntpServer).AddressList
[ô]123 é a porta padrão do NTP
Dim ipEndPoint = New IPEndPoint(addresses(0), 123)
[ô]NTP usa UDP
Dim socket = New Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp)
socket.Connect(ipEndPoint)
[ô]Caso NTP esteja bloqueado, ao menos nao trava o app
socket.ReceiveTimeout = 3000
socket.Send(ntpData)
socket.Receive(ntpData)
socket.Close()
[ô]Offset para chegar no campo [Ô]Transmit Timestamp[Ô] (que é
[ô]o do momento da saÃda do servidor, em formato 64-bit timestamp
Const serverReplyTime As Byte = 40
[ô]Pegando os segundos
Dim intPart As ULong = BitConverter.ToUInt32(ntpData, serverReplyTime)
[ô]e a fração de segundos
Dim fractPart As ULong = BitConverter.ToUInt32(ntpData, serverReplyTime + 4)
[ô]Passando de big-endian pra little-endian
intPart = SwapEndianness(intPart)
fractPart = SwapEndianness(fractPart)
Dim milliseconds = (intPart * 1000) + ((fractPart * 1000) / &H100000000L)
[ô]Tempo em **UTC**
Dim networkDateTime = (New DateTime(1900, 1, 1, 0, 0, 0, DateTimeKind.Utc)).AddMilliseconds(CLng(milliseconds))
Return networkDateTime.ToLocalTime()
End Function
[ô] stackoverflow.com/a/3294698/162671
Private Shared Function SwapEndianness(x As ULong) As UInteger
Return CUInt(((x And &HFF) << 24) + ((x And &HFF00) << 8) + ((x And &HFF0000) >> 8) + ((x And &HFF000000UI) >> 24))
End Function
End Class
(uma grande ajuda para que fica sem pilha da bios)
Tópico encerrado , respostas não são mais permitidas