Ir para conteúdo
Fórum Script Brasil
  • 0

Retornar IP dial-up da máquina


Guest Elektra

Pergunta

Gostaria de saber se tem algum código ou rotina que me enviasse o ip de uma máquina. Por exemplo, um programa que ficasse executando em segundo plano na máquina X e quando está se conectasse a internet um programa na máquina Y receberia o IP dela (máquina X).

Necessito de um programa desse urgente pois dou suporte a alguns clientes e preciso do IP para usar o VNC e gostaria de automatizar isso.

Por favor, quem poder me ajudar me envie um e-mail para nayroby@ibest.com.br

Muitissímo obrigada!!!!!!! :rolleyes:

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
Gostaria de saber se tem algum código ou rotina que me enviasse o ip de uma máquina

ai vai uma função para isto

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

USES WinSock;


function GetLocalIP : string;

type
   TaPInAddr = array [0..10] of PInAddr;
   PaPInAddr = ^TaPInAddr;

var
   phe : PHostEnt;
   pptr : PaPInAddr;
   Buffer : array [0..63] of char;
   I : Integer;
   GInitData : TWSADATA;

begin

   WSAStartup($101, GInitData);
   Result := '';
   GetHostName(Buffer, SizeOf(Buffer));
   phe :=GetHostByName(buffer);

   if phe = nil then Exit;

   pptr := PaPInAddr(Phe^.h_addr_list);
   I := 0;

   while pptr^[I] <> nil do
   begin

      result:=StrPas(inet_ntoa(pptr^[I]^));
      result := StrPas(inet_ntoa(pptr^[I]^));
      Inc(I);

   end;

WSACleanup;

end;


procedure TForm1.Button1Click(Sender: TObject);
begin
   LABEL1.CAPTION := GetLocalIP;
end;

end.

OBS: existem maneiras mais simples para se conseguir a mesma coisa.... já fiz algo parecido com o que voce esta querendo, implementei uma rotina num timer que verifica a cada segundo quando é feita a conexão com a internet ( não roda em segundo plano e sim dentro do programa ) depois usando componentes do indy do delphi 7 criei uma rotina para enviar automaticamente um email para mim com o ip da maquina do cliente usando o meu servidor de email, sempre que a conexão for refeita

Mas so consegui fazer isto usando o delphi 7, entretanto se a maquina estiver numa rede interna e usando roteador voce não vai conseguir o ip da maquina e sim o ip do servidor de internet.

abraço

Editado por Jhonas
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...