Limitador de uso da internet

05/11/2005

Boa Noite. Pessoal, preciso da ajuda de vocês.

Quero desenvolver um programa simples, que irá controlar o limite de acesso a internet de um determinado computador.

Esse computar terá, por exemplo, acesso a internet no máximo 5 horas por dia. Claro, quando se passar o dia, o tempo do dia anterior será resetado.

Então as dúvidas são:

- Como verificar se há conexão com a internet (internet é rede - compartilhada)?

- Como salvar o tempo de uso do dia, mesmo que o computador seja reiniciado?

- Como ´travar´ a internet após o tempo determinado?

Obrigado,
Rodrigo.


Ropesca

Respostas

06/11/2005

Ropesca

Poxa pessoal, ninguém pode me ajudar?


Responder Citar

07/11/2005

Dedi

Amigo,
Tenho um aplicativo do genero funcionando em um cliente,por questões legais(contrato) não posso divulgar os fontes,mas vai ai algumas dicas.

- Como verificar se há conexão com a internet (internet é rede - compartilhada)?

creio que isto seja dificil de se fazer,caso vc queira setar um limite para todos em uma rede seu aplicativo deverá ler um arquivo compartilhado neste arquivo constará a somatoria de minutos de acesso de todos juntos.

Como salvar o tempo de uso do dia, mesmo que o computador seja reiniciado?

vincule o tempo de ascesso a data ex:07112005|50 antes do pipe[|] data depois dele somatoria em minutos....

- Como ´travar´ a internet após o tempo determinado?


este é o ponto que talvez seja o mais complexo. na meu caso o aplicativo não apenas limita o temo de acesso como tambem bloqueia sites previamente cadastrados e sites com conteudo tambem previamente cadastrado pelo gerenciador do sistema...fiz uma rotina que pega o conteudo da janela do navegador verifica se contem palavras cadastradas
ou url não permitidas...e se tiver fecha o navegador se não conta os minutos de acesso. para saber como fazer isto procure aqui no forum por (fechar janelas...ou pegar caption de uma janela... ) a grosso modo seria +/- esse o caminho.cuide da proteção com senhas,criptografia.etc.


Responder Citar

15/11/2005

Ropesca

Dando um UP ai...

Algumas dúvidas ainda:

1- Na verdade a internet está em LAN, ou seja, é uma rede compartilhada. Como contar o tempo, mesmo que o PC seja reiniciado?
2- Como ´travar´ o uso da internet (placa de rede) após o tempo máximo de uso permitido?

Agradeço a quem puder me ajudar.

Obrigado.


Responder Citar

15/11/2005

Edilcimar

a questão 1 é fácil, basta escrever um arquivo com a data e o tempo de conecção, assim cada vez que entrar verifica se a data é a mesma, se for pega o tempo e começa a contar a partir daí, se a data for menor então apaga a antiga e começa o tempo do zero, a não ser que queira fazer um log, aí então não apaga, porém deve esconder, criptografar ou colocar em uma tabela estes dados


Responder Citar

15/11/2005

Ropesca

Consegui o seguinte código:

[b:5386d81b10]Mac Address do adaptador de rede[/b:5386d81b10] A função abaixo retorna o Mac Address do adaptador de rede: function MacAddress: string; var Lib: Cardinal; Func: function(GUID: PGUID): Longint; stdcall; GUID1, GUID2: TGUID; begin Result := ´´; Lib := LoadLibrary(´rpcrt4.dll´); if Lib <> 0 then begin @Func := GetProcAddress(Lib, ´UuidCreateSequential´); if Assigned(Func) then begin if (Func(@GUID1) = 0) and (Func(@GUID2) = 0) and (GUID1.D4[2] = GUID2.D4[2]) and (GUID1.D4[3] = GUID2.D4[3]) and (GUID1.D4[4] = GUID2.D4[4]) and (GUID1.D4[5] = GUID2.D4[5]) and (GUID1.D4[6] = GUID2.D4[6]) and (GUID1.D4[7] = GUID2.D4[7]) then begin Result := IntToHex(GUID1.D4[2], 2) + ´-´ + IntToHex(GUID1.D4[3], 2) + ´-´ + IntToHex(GUID1.D4[4], 2) + ´-´ + IntToHex(GUID1.D4[5], 2) + ´-´ + IntToHex(GUID1.D4[6], 2) + ´-´ + IntToHex(GUID1.D4[7], 2); end; end; end; end;


Gostaria de saber um código para eu poder MUDAR o address mac de uma placa de rede. Isso me ajudaria no programa que preciso fazer...

Mas voltando a pergunta: Como travar o uso da internet após certo tempo?

Creio que essa seja a questão mais difícil de se resolver, por isso conto com a ajuda de vocês.

Um abraço,
Rodrigo.


Responder Citar