Array
(
)

Limitador de uso da internet

Ropesca
   - 05 nov 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
   - 06 nov 2005

Poxa pessoal, ninguém pode me ajudar?


Dedi
   - 07 nov 2005

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.


Citação:
- 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.


Citação:
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....


Citação:

- 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.


Ropesca
   - 15 nov 2005

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.


Edilcimar
   - 15 nov 2005

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


Ropesca
   - 15 nov 2005

Consegui o seguinte código:


Citação:
Mac Address do adaptador de rede

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.