PROBLEMAS COM HORA DO SERVIDOR

LUIS.HERRERA 18/03/2010 10:30:35
#337287
Bom dia amigos,

Um assunto aparentemente tão simples e tão complicado de resolver. Já pesquisei na Web e os códigos que encontrei não funcionam para win98, winME, só no Win Xp e não sei se em todas as versões superiores. O código foi como nesse link: http://www.vbmania.com.br/pages/index.php?varModulo=Forum&varMethod=abrir&varID=76927&varWorld=

Meu aplicativo tem um controle de registro que avalia o período de uso, como a maioria faz, porém checando a data do windows (local). O problema que parece muitos desenvolvedores também tem é com a alteração do relógio/calendário do sistema. Se o usuário atrasa a data meu programa é bloqueado, mas se adianta a data até o limite da licença pode entrar, só que esse acesso é gravado e quando volta a data anterior (atual) ou outro usuário na rede entrar com a data correta o sistema não permitirá por interpretar como violação da licença.

A única solução que vejo é pegar a data do servidor, assim todos peguam a mesma data independente da máquina local. Isso não está sendo possível em função de N versões do windows, cada uma tem um recurso diferente da outra ou não dispõe de recurso para isso como o Win98 e talvez o ME.

Tentei o Net Time \\Nome Servidor, porém as mensagens geradas são diferentes de windows para windows e até de máquina para máquina ex:

Win 98 - [Ô]Hora atual em \\Nome Servidor é 18/03/2010 9:58[Ô]

Win XP Pro - [Ô]A hora atual em \\Nome Servidor é 3/18/2010 9:58 AM[Ô]

Veja que ambos os SO usados estão em Português e o comando foi feito em DOS, assim não dá para entender porque um veio dd/mm/aaaa e outro veio mm/dd/aaaa se não está no windows para pegar configurações regionais e sim no DOS. A'lém disso há um [Ô]A[Ô] inicial no XP e o [Ô]AM[Ô] no final.

Outro problema é que se eu gerar um TXT para tentar capturar a DATA dentro do VB6, teria uma série de dificultades como:

- saber como separar o texto da data, já que cada micro tem uma mensagem diferente e não tenho como testar em cada versão, idioma, etc...
- saber se a data está no padrão dia/mês ou mês/dia, já que 3/4 pode ser dia 3 de abril ou 4 de março.

Estou fazendo uma pesquisa nos clientes para saber se alguém ainda usa versão do Windows inferior a XP, assim poderia abandonar a compatibilidade com esses S.O mais antigos, porém o problema pode ocorrer entre os mais recentes também.

Porém surge outras dúvidas:
1- será que o código do link acima (NetApi32.dll) é compatível com qualquer versão superior ao XP?
2- será que essa rotina funciona para usuários sem permissão de administrador na rede com qualquer windows?
FUTURA 19/03/2010 08:29:52
#337365
qual bd vc usa ?, eu pego a hora do servidor sql server.
LUIS.HERRERA 19/03/2010 20:33:08
#337469
Edson não tem DB. Estou para desenvolver uma aplicação com FB ou SQL, mas nesse caso não tem DB, por isso preciso de algo via VB/Windows para resolver.
TECLA 20/03/2010 16:35:20
#337511
Resposta escolhida
Saudações, LUIS HERRERA (há quanto tempo, hein!).

Uma solução possível, seria você criar uma espécie de SERVIDOR DE LICENÇAS que rode na máquina SERVIDOR.

Seria mais ou menos assim:
Você cria um PROJETO com um FORM que contenha o componente WINSOCK.
Este SERVIDOR DE LICENÇAS só serviria para pegar a DATA e HORA do SERVIDOR e repassar para as ESTAÇÕES via REDE.
Deste modo, independente da versão do WINDOWS, você utiliza as funções nativas do VB6 (Now, Date ou Time) para recuperar a data do sistema.
LUIS.HERRERA 20/03/2010 22:37:14
#337527
Olá Tecla, faz tempo mesmo. Tô tão enrolado que faz tempo que não programa, só apago alguns incêndios. Acho que só volto a ativa realmente mais pro final do ano.
Até hoje só instalei o VB 2008 e nem cheguei a abrir o [Ô]bichinho[Ô] e já vai sair o 2010.

Nosso projeto parou não?
Sempre entro lá para ver se foi [Ô]Ressussitado[Ô], mas acho que tá todo mundo [Ô]Enrolado[Ô] na correria não.

Seua idéia parece ótima, vou pensar em como implantar.

RCMRO boa noite, eu nunca trabalhei com COM+ e não sei se funciona em Win 2008. Mas obrigado pela idéia.
Tópico encerrado , respostas não são mais permitidas