Clipper On Line • Ver Tópico - Obter informações estilo PING usando Activex

Obter informações estilo PING usando Activex

Discussão sobre a biblioteca Fivewin - O Clipper para Windows.

Moderador: Moderadores

 

Obter informações estilo PING usando Activex

Mensagempor rochinha » 27 Nov 2009 03:57

Amiguinhos,

Coloquei este exemplo aqui para ilustrar a forma de se obter informações do sistema operacional com o uso de recursos externos, como Activex.

No exemplo que se segue faço uso do Activex DNSLookup, facilmente encontrável na internet pelo Google.

Codigo exemplo:
/*
*
*
*/
#include "FiveWin.ch"

function Main(DomainName,IPAddr)
   local oWnd, oActiveX

   RegisterServer( "qDNS.ocx" )

   oqDNS := TOleAuto():New("qdns.DNSLookup")

   DomainName := "www.pctoledo.com.br"
   IPAddr     := "127.0.0.1"

   ? IPLookup := oqDNS:IPLookup(DomainName)
   ? NameLookup := oqDNS:ReverseLookup(IPAddr)

   oqDNS:End()
   return nil

#pragma BEGINDUMP
        #include <hbapi.h>
        #include <windows.h>
        typedef LONG ( * PDLLREGISTERSERVER ) ( void );
        HB_FUNC( REGISTERSERVER )
        {
           HMODULE hDll = LoadLibrary( hb_parc( 1 ) );
           LONG lReturn = 0;
           if( hDll )
           {
              FARPROC pRegisterServer = GetProcAddress( hDll, "DllRegisterServer" );
              if( pRegisterServer )
                 lReturn = ( ( PDLLREGISTERSERVER ) pRegisterServer )();
              FreeLibrary( hDll );
           }
           hb_retnl( lReturn );
        }       
#pragma ENDDUMP


Neste exemplo podemos obter a mesma informação que o PING do DOS com a sutileza de não ser necessário obter arquivos de saida em texto, recuperá-los e capturar os valores dentro do conteúdo.

O código exemplo em Visual Basic Script e ASP que acompanha o Activex está aqui, foi minha fonte de inspiração:
<%
Option Explicit
'=================================================================================
'===  You may use and distribute this code, but you may not charge
'===  for it or present it as your own work. This notice should be retained.
'===  This source code is provided WITHOUT WARRANTY either expressed or implied.
'===  If you find any bugs in this code, please notify the author.
'===  This code is provided "As-Is" - if it doesn't work, we accept
'===  no responsibility, nor do we support it.
'===
'===  Purpose:  Perform DNS Lookup and Reverse Name Lookup
'===  Author:   Michael Meelis (michael@meelix.com)
'===  Updated:  12Apr01
'=================================================================================
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>DNS Lookup</title>
</head>
<body>
<%
Dim DNSObj
Dim DomainName
Dim IPLookup
Dim IPAddr
Dim NameLookup

DomainName = Request.Form("DomainName").Item
IPLookup = ""
IPAddr = Request.Form("IPAddr").Item
NameLookup = ""

On Error Resume Next
'=== Work around for checking if DNS is actually working ===
Set DNSObj = Server.CreateObject("qdns.DNSLookup")
If Err.Number = -2147221005 Then
   '=== QDNS.dll is not properly installed ================
   Response.Write "<font color=red>Object not installed! Please copy QDNS.dll to your permanent Directory and run ""regsvr32 QDNS.dll""</font><BR>"
Else
   '=== Lets check if we can reach the DNS server and if it is responsive ===
   If Not DNSObj.IsDnsResponsive() then
      '=== DNS is NOT working from this location so exit ===
      Response.Write "<font color=red>DNS Server not responsive.</font>"
   Else
      '=== Now lets do some DNS work =======================
      If Not IsEmpty(DomainName) And Len(DomainName) > 0 Then IPLookup = DNSObj.IPLookup(DomainName)
      If Not IsEmpty(IPAddr) And Len(IPAddr) > 0 Then NameLookup = DNSObj.ReverseLookup(IPAddr)
   End if
End if
'=== Clean up ===
Set DNSObj = Nothing
%>
<form method='POST'>
DNS Name: <input type="text" name="DomainName" size="37" value="<%=DomainName%>"> has IP Address: <B><%=IPLookup%></B>
<BR>
IP Address: <input type="text" name="IPAddr" size="37" value="<%=IPAddr%>"> has DNS Name: <B><%=NameLookup%></B>
<BR><BR>
<input type='submit' value='Perform Lookup'>
</form>
</body>
</html>


Usei Fivewin para obter as respostas, mas o código pode ser usado em qualquer Harbour/xHarbour com uso de OLE.

Podem baixar de http://wareseeker.com/Network-Tools/dns ... zip/335238
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

Re: Obter informações estilo PING usando Activex

Mensagempor sygecom » 03 Dez 2009 10:08

Olá Rochinha,
O Link para baixar o OCX está fora do ar, tentei achar pelo Google e só achei EXE desse DNSLookup, ai fiquei com medinho, se poder anexar aqui no post do fórum ficaria bom, se for muito grande e se não for incomodo e poder então enviar por e-mail agradeço.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
leonardodemachado@hotmail.com

Faça você também sua doação esse fórum é uma lenda viva: http://www.pctoledo.com.br/doacao
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 7005
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 130 vezes

Re: Obter informações estilo PING usando Activex

Mensagempor rochinha » 03 Dez 2009 10:46

Amiguinho,

Não sei o que ocorreu, eu baixei deste link mesmo e portanto apresentei aqui, mas se o servidor caiu, vai aqui uma seleção que não pode falhar:

http://www.filewatcher.com/m/nslookup.z ... 8.0.0.html

Neste link tem uma pancada de link e dificilmente algum estará quebrado, hehehe!
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

Re: Obter informações estilo PING usando Activex

Mensagempor sygecom » 03 Dez 2009 11:02

Buenas Rochinha,
Tchê, todos os link baixam sempre o mesmo arquivo ZIP que contem um EXE um TXT e um WRI, e não vem DLL nem OCX. Foi justamente essa pancada de links que eu já tinha visto antes, foi o unico que achei que poderia chegar mais perto, mas infelizmente não veio o OCX.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
leonardodemachado@hotmail.com

Faça você também sua doação esse fórum é uma lenda viva: http://www.pctoledo.com.br/doacao
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 7005
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 130 vezes

Re: Obter informações estilo PING usando Activex

Mensagempor rochinha » 08 Dez 2009 17:57

Amiguinho,

E todos os que necessitarem da OCX basta me enviar um email solicitando a mesma, não é culpa minha, o link não funcionar, mas baixei estes dias, mesmo, é incrivel.

Tente http://www.graficapirituba.com.br/nslookup.rar
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes




Retornar para FiveWin

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 10 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro