none
Qual a melhor solução para resolver isso? RRS feed

  • Pergunta

  • Desenvolvi um aplicativo usando VB.NET no Forms, por ser inexperiente em programação, levei 1,5 anos trabalhando no seu desenvolvimento. Graças as dicas recebidas aqui no Fórum MSDN, fui aos trancos e barrancos mas consegui.

    Agora tenho o aplicativo montado, talvez eu possa melhora-lo muito ainda.

    Algumas pessoas interessadas já me pediram uma cópia, mas ai fiquei pensando, passei várias madrugadas tentando desenvolver e agora simplesmente passo para outra pessoa que poderá ganhar dinheiro com ele, então resolvi incrementar este meu aplicativo com uma rotina que possa limitar um tempo de uso. É nisso que estou trabalhando agora, mas sinceramente ainda não cheguei a melhor forma de fazer essa rotina.

    A minha primeira ideia foi criar uma rotina que comparece duas datas, uma data atual e a outra que seria a data limite para uso, mas ai vem a questão se o usuário pode mudar a data do seu sistema e assim continuar usando o meu APP. 

    A outra ideia então seria buscar uma data num site na INTERNET e proceder conforme descrito acima. Mas ai vem a seguinte dúvida, e se o usuário não estiver logado na INTERNET? Ai voltei a estaca zero.

    Então gostaria de pedir a alguém: "Qual a melhor solução para resolver isso?

    Eu quero passar meu APP para outras pessoas usarem, mas quero também que ninguém tire proveito  financeiro disso.

    Grato / Durval 

    sábado, 5 de outubro de 2019 23:44

Respostas

  • Você pode testar um ping no DNS do Google (8.8.8.8), e só permitir acesso ao seu aplicativo quando esse ping funcionar.

    If My.Computer.Network.Ping("8.8.8.8") Then
       ' ping funcionou (existe conexão com a internet)
    Else
       ' ping não funcionou (não existe conexão com a internet)
    End If

     

    Atenciosamente, 


    Igor F. Kunrath

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    • Marcado como Resposta IgorFKModerator quarta-feira, 9 de outubro de 2019 14:26
    terça-feira, 8 de outubro de 2019 12:25
    Moderador

Todas as Respostas

  • Boa tarde, tudo bem?

    Pensei em duas possíveis formas de contornar a situação:

    Você pode forçar o usuário a estabelecer uma conexão com a internet antes de fazer acesso ao seu aplicativo. Contudo, dependendo da natureza da sua aplicação, isto seria muito inconveniente, então cabe a você decidir a aplicação da sugestão.

    Outra alternativa seria usar a data do sistema fazendo constantes verificações se tal data foi alterada. Você pode salvar a data atual do sistema em um arquivo (criptografado e com um nome que não sugere seu conteúdo) e ir atualizando esta data em um frequência de X minutos, e ao mesmo tempo verificando se a data presente no arquivo e a data atual do sistema possuem uma distância coerente. Se a distância entre as datas for maior que o tolerado, bloqueie o acesso ao aplicativo.

    Atenciosamente, 


    Igor F. Kunrath

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 7 de outubro de 2019 17:21
    Moderador
  • Obrigado Igor, gostei da tua primeira forma, forçar o usuário a estar conectado a internet. Vou tentar partir para essa alternativa. Confesso que não tenho a menor ideia de como fazer isso, mas estamos ai para aprender.

    Grato / Abraço

    segunda-feira, 7 de outubro de 2019 21:07
  • Você pode testar um ping no DNS do Google (8.8.8.8), e só permitir acesso ao seu aplicativo quando esse ping funcionar.

    If My.Computer.Network.Ping("8.8.8.8") Then
       ' ping funcionou (existe conexão com a internet)
    Else
       ' ping não funcionou (não existe conexão com a internet)
    End If

     

    Atenciosamente, 


    Igor F. Kunrath

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    • Marcado como Resposta IgorFKModerator quarta-feira, 9 de outubro de 2019 14:26
    terça-feira, 8 de outubro de 2019 12:25
    Moderador
  • Valeu Igor, muito obrigado pelo start. Só depois que alguém mostra como fazer, que a gente vê o quanto é simples.

    Obrigado / Durval

    quarta-feira, 9 de outubro de 2019 02:53
  • Estamos a disposição!

    Igor F. Kunrath

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quarta-feira, 9 de outubro de 2019 14:26
    Moderador
  • Igor, quando desligo o cabo da INTERNET para testar a rotina, ai ela resulta no erro:

    impossível PING por falta de conexão com a internet, pode me dar uma dica como fazer para contornar o erro e a rotina mostrar a mensagem do Else?

     Public Class Form1

        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

            If My.Computer.Network.Ping("8.8.8.8") Then
                MsgBox("existe conexão com a internet")
            Else
                MsgBox("não existe conexão com a internet")
            End If
        End Sub

    End Class 
    sexta-feira, 11 de outubro de 2019 04:04