Monitorar processo de conexão (RNAAPP)
[b:9a3440ed13]Caro amigos do Clube, alguem sabe como posso identificar uma chamada ao dial-up do windows, antes de fazer uma conexão?
Tipo assim , deixaria um programa meu em execução (monitorando)...quando o usuário clicar no dial-up ou em qualquer discador para se conectar na internet, meu monitor detectaria e mostraria para o usuário um form com pedido de senha, caso essa senha fosse digitada errada eu mataria o processo de conexão, senão liberaria a conexão com a net......
Notei que em Windows 9x, toda vez que chamo um discador, é executado um tal de Rnaapp, e é esse programa que quero monitorar e matar se for o caso, mas não sei como?
Se puderem me ajudar...
Valeu ..um abraço
Alessandro[/b:9a3440ed13]
[b:9a3440ed13][color=red:9a3440ed13]Título editado pelo Moderador (AZ) - Removido: ´Urgente´[/color:9a3440ed13][/b:9a3440ed13]
Tipo assim , deixaria um programa meu em execução (monitorando)...quando o usuário clicar no dial-up ou em qualquer discador para se conectar na internet, meu monitor detectaria e mostraria para o usuário um form com pedido de senha, caso essa senha fosse digitada errada eu mataria o processo de conexão, senão liberaria a conexão com a net......
Notei que em Windows 9x, toda vez que chamo um discador, é executado um tal de Rnaapp, e é esse programa que quero monitorar e matar se for o caso, mas não sei como?
Se puderem me ajudar...
Valeu ..um abraço
Alessandro[/b:9a3440ed13]
[b:9a3440ed13][color=red:9a3440ed13]Título editado pelo Moderador (AZ) - Removido: ´Urgente´[/color:9a3440ed13][/b:9a3440ed13]
Analyst
Curtidas 0
Respostas
Analyst
17/03/2004
Ninguem sabe?
Por favor me ajudem.....
Por favor me ajudem.....
GOSTEI 0
Wagsilvasilva
17/03/2004
Cara, tipo assim, naum entendo quase nada de delphi. Mas sei que existem programas que mostram as tarefas e os processos que estão em execução no sistema. Talvez se tu encontrasse algum pela web e tentasse conseguir o fonte acho que resolveria o teu problema. Ou então que tu baixe este programa e tente entrar em contato com o autor também seria uma outra alternativa.
é isso
Wagner
é isso
Wagner
GOSTEI 0
Analyst
17/03/2004
Cara, tipo assim, naum entendo quase nada de delphi. Mas sei que existem programas que mostram as tarefas e os processos que estão em execução no sistema. Talvez se tu encontrasse algum pela web e tentasse conseguir o fonte acho que resolveria o teu problema. Ou então que tu baixe este programa e tente entrar em contato com o autor também seria uma outra alternativa.
é isso
Wagner
[b:b49bf9d944]Obrigado wagsilvasilva, por ser o unico a pelo menos tentar me ajudar.
Com muita persistenca e horas a fim, consegui saber a classe do Rnaapp e consegui o meu objetivo, pelo menos para windows 9x, ME, falta ainda descobrir como fazer isso pra NT e XP, quem sabe alguem do forum sabe para esse ambiente operacional né...
Como gosto de ajudar to disponibilizando o que descobri...valeu carinha.
if FindWindow(´RnaEngCLASS´, nil) > 0 then // se Rnaapp foi executado
PostMessage(FindWindow(´RnaEngCLASS´, nil), WM_CLOSE,0,0); // fecho o aplicativo[/b:b49bf9d944]
GOSTEI 0
Tatuweb
17/03/2004
Você pode controlar conexões com a Internet por meio do programa rasdial.exe. Vou mostrar abaixo como o programa funciona e depois mostrar como usá-lo no Delphi.
Toda conexão (acesso discado) com a Internet é feita via rasdial.exe. Se você for até o prompt do ms-dos e digitar:
você irá se conectar e os dois computadores ao lado do relógio será exibido. Ex:
irá chamar a conexão IG existente no computador e irá logar se no provedor como usuário tatuweb e senha 123456.
Para se disconectar basta fazer o seguinte:
Se vc fizer isso no MS-DOS verá que todas as mensagens que aparecem na janela de conexão de rede dial-up vão aparecer no prompt. Ex: Linha ocupada, senha/usuário inválido, etc...
Dito isso, vc pode usar o seguinte comando no Delphi para se conectar a um provedor:
e usar o seguinte para se desconectar:
Para o código acima funcionar é necessário declarar a cláusula uses a unit ShellAPI.
A minha idéia é usar uma rotina para pegar as informações vindas do ms-dos para usar na aplicação. Ex:
Essa rotina poderia estar dentro de um componente Timer, de preferencia com uma thread criada so para fazer essa monitoração para evitar que a performance do programa seja afetada. O fato é que não descobri como pegar essas informações do prompt do DOS.
Bem essa foi uma idéia e quem sabe o inicio de uma solucão. De repente o código pode ser melhorado ou vc pode implementar outra ideia. Só pra finalizar o rasdial.exe não fica na lista de processos como o rnapp e não sei se os comandos acimas são aceitos no Win 9x (No ME, XP e 2000 são aceitos).
Toda conexão (acesso discado) com a Internet é feita via rasdial.exe. Se você for até o prompt do ms-dos e digitar:
C:\rasdial nome_da_conexao usuario senha
você irá se conectar e os dois computadores ao lado do relógio será exibido. Ex:
C:\rasdial IG tatuweb 123456
irá chamar a conexão IG existente no computador e irá logar se no provedor como usuário tatuweb e senha 123456.
Para se disconectar basta fazer o seguinte:
C:\rasdial IG /DISCONNECT
Se vc fizer isso no MS-DOS verá que todas as mensagens que aparecem na janela de conexão de rede dial-up vão aparecer no prompt. Ex: Linha ocupada, senha/usuário inválido, etc...
Dito isso, vc pode usar o seguinte comando no Delphi para se conectar a um provedor:
ShellExecute (Self.Handle, PChar (´open´), PChar (´rasdial.exe´), PChar (´IG tatuweb 123456´), PChar (´C:´), SW_SHOWMINNOACTIVE);
e usar o seguinte para se desconectar:
ShellExecute (Self.Handle, PChar (´open´), PChar (´rasdial.exe´), PChar (´IG /DISCONNECT´), PChar (´C:´), SW_SHOWMINNOACTIVE);
Para o código acima funcionar é necessário declarar a cláusula uses a unit ShellAPI.
A minha idéia é usar uma rotina para pegar as informações vindas do ms-dos para usar na aplicação. Ex:
ShellExecute (Self.Handle, PChar (´open´), PChar (´rasdial.exe´), PChar (´IG /DISCONNECT´), PChar (´C:´), SW_SHOWMINNOACTIVE); if MsgRetornadaPeloDOS <> ´Não existe conexões´ then // Sinal que o usuário está conectado // logo vou exibir uma caixa de dialogo pedindo senha // se ñ tiver executo o comando para desconecta-lo
Essa rotina poderia estar dentro de um componente Timer, de preferencia com uma thread criada so para fazer essa monitoração para evitar que a performance do programa seja afetada. O fato é que não descobri como pegar essas informações do prompt do DOS.
Bem essa foi uma idéia e quem sabe o inicio de uma solucão. De repente o código pode ser melhorado ou vc pode implementar outra ideia. Só pra finalizar o rasdial.exe não fica na lista de processos como o rnapp e não sei se os comandos acimas são aceitos no Win 9x (No ME, XP e 2000 são aceitos).
GOSTEI 0
Analyst
17/03/2004
Você pode controlar conexões com a Internet por meio do programa rasdial.exe. Vou mostrar abaixo como o programa funciona e depois mostrar como usá-lo no Delphi.
Toda conexão (acesso discado) com a Internet é feita via rasdial.exe. Se você for até o prompt do ms-dos e digitar:
você irá se conectar e os dois computadores ao lado do relógio será exibido. Ex:
irá chamar a conexão IG existente no computador e irá logar se no provedor como usuário tatuweb e senha 123456.
Para se disconectar basta fazer o seguinte:
Se vc fizer isso no MS-DOS verá que todas as mensagens que aparecem na janela de conexão de rede dial-up vão aparecer no prompt. Ex: Linha ocupada, senha/usuário inválido, etc...
Dito isso, vc pode usar o seguinte comando no Delphi para se conectar a um provedor:
e usar o seguinte para se desconectar:
Para o código acima funcionar é necessário declarar a cláusula uses a unit ShellAPI.
A minha idéia é usar uma rotina para pegar as informações vindas do ms-dos para usar na aplicação. Ex:
Essa rotina poderia estar dentro de um componente Timer, de preferencia com uma thread criada so para fazer essa monitoração para evitar que a performance do programa seja afetada. O fato é que não descobri como pegar essas informações do prompt do DOS.
Bem essa foi uma idéia e quem sabe o inicio de uma solucão. De repente o código pode ser melhorado ou vc pode implementar outra ideia. Só pra finalizar o rasdial.exe não fica na lista de processos como o rnapp e não sei se os comandos acimas são aceitos no Win 9x (No ME, XP e 2000 são aceitos).
C:\rasdial nome_da_conexao usuario senha
C:\rasdial IG tatuweb 123456
C:\rasdial IG /DISCONNECT
ShellExecute (Self.Handle, PChar (´open´), PChar (´rasdial.exe´), PChar (´IG tatuweb 123456´), PChar (´C:´), SW_SHOWMINNOACTIVE);
ShellExecute (Self.Handle, PChar (´open´), PChar (´rasdial.exe´), PChar (´IG /DISCONNECT´), PChar (´C:´), SW_SHOWMINNOACTIVE);
ShellExecute (Self.Handle, PChar (´open´), PChar (´rasdial.exe´), PChar (´IG /DISCONNECT´), PChar (´C:´), SW_SHOWMINNOACTIVE); if MsgRetornadaPeloDOS <> ´Não existe conexões´ then // Sinal que o usuário está conectado // logo vou exibir uma caixa de dialogo pedindo senha // se ñ tiver executo o comando para desconecta-lo
[b:01a4c03978]Cara obrigado pela dica, vou ver se consigo estudar esse código e quem sabe resolver isso. Depois te aviso...valeu[/b:01a4c03978]
GOSTEI 0