USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  dica: programa para sicronizar o relógio do window
DJ Dan Rebello
PRAIA GRANDE
SP - BRASIL
ENUNCIADA !
Postada em 22/08/2008 19:42 hs            
'Olá pessoal ! estou postando essa dica aqui no fórum pq a página de dicas está retornando erro HTTP 500 (erro interno do servidor). Peço a gentileza aos moderadores para moverem para a seção de dicas, ok ?
 
'Olá pessoal! Além de programador eu tenho uma web-rádio que funciona em rede, com locutores que fazem seus programas se conectando ao vivo de diversas partes do Brasil. Por isso a necessidade de que as máquinas de todos os locutores da rádio estejam perfeitamente sincronizadas (hora, minuto e segundo exatos), pra que não exista espaço em "branco" na programação ou "atropele" a programação corrente. Por essa razão bolei esse programinha muito útil, que sincroniza a hora do relógio do windows com o server da Microsoft. Ao iniciar o Windows e a cada meia hora o programa faz a sincronização.
'Uso o programa na minha web-rádio e distribuo pra todos os locutores colaboradores que fazem parte da rede, mas os colegas mais criativos poderão encontrar outros usos interessantes para esse programa.
'O programa é auto instalável na unidade de HD do sistema (qualquer que seja), bastando clicar sobre ele para que seja instalado e executado. Uma vez instalado, ele é iniciado junto com o windows. O form1 deve ser configurado de maneira que fique "invisível", enquanto que o form3 poderá ser um pequeno banner que mostra o texto "sincronizando..." sobre o relógio do windows. Na verdade usei apenas o control box deste form como "banner", no modo 4 - Fixed TollWindow.
'o código segue abaixo!
'em general declarations:***********************************************
Private Declare Function WaitForSingleObject Lib "kernel32" _
   (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" _
   (ByVal hObject As Long) As Long
Private Declare Function OpenProcess Lib "kernel32" _
   (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, _
    ByVal dwProcessId As Long) As Long
Private Const INFINITE = -1&
Private Const SYNCHRONIZE = &H100000
Dim lTEMPO As Long
Dim sincro As String
'restante:**********************************************************
Private Sub Form_Load()
Timer1.Interval = 1000   ' isto representa 1 segundo
   lTEMPO = 0
sincro = Environ("windir") + "System32W32tm.exe /resync"
On Error GoTo instala
Open "C:     ime.exe" For Input As #1
Close #1
GoTo continua

instala:
FileCopy App.Path + "     ime.exe", Environ("systemdrive") + "     ime.exe"
Dim Reg As Object
Set Reg = CreateObject("wscript.shell")
Reg.RegWrite "HKEY_LOCAL_MACHINESOFTWAREMICROSOFTWINDOWSCURRENTVERSIONRUN" & "Sincronizador de Hora", Environ("systemdrive") + "     ime.exe"
Shell Environ("systemdrive") + "     ime.exe"
End
continua:
Call sincronizar
End Sub
Private Sub Timer1_Timer()
    lTEMPO = lTEMPO + 1
    If lTEMPO >= 1800 Then   ' AQUI 60 REPRESENTARÁ 60 SEGUNDOS OU 1 MINUTO
   
Call sincronizar
        
         lTEMPO = 0
    End If
End Sub
Private Sub sincronizar()
Form3.Visible = True
    Dim iTask As Long, ret As Long, pHandle As Long
    iTask = Shell(sincro, vbHide)
    pHandle = OpenProcess(SYNCHRONIZE, False, iTask)
    ret = WaitForSingleObject(pHandle, INFINITE)
    ret = CloseHandle(pHandle)
   
Form3.Visible = False
       
End Sub
'Agradeço a todos os colegas pelas respostam as minhas dúvidas enviadas pelo fórum, e lembro que se não fosse a ajuda de vcs esse programa não seria possível.
'Os colegas que desejarem os arquivos form1 e form 3 ou o programa inteiro com o código fonte, terei o maior prazer em repassar. meu e-mail é: dani-conrado@bol.com.br
'É isso aí pessoal...Abraços !!!

Galera, tenho pouquissímos conhecimentos em VB. Por isso peço que postem as respostas COM EXEMPLOS PRÁTICOS DAS ROTINAS ACONPANHADOS DE COMENTÁRIOS, SEMPRE QUE POSSÍVEL. Por esse motivo tb, peço desculpas por não poder responder muitas mensagens do fórum!
Grato a todos!!!
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página