⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ddnsunit.pas

📁 Ddns动态域名解析源代码 是用C写的。。大家可以一起研究研究
💻 PAS
字号:
unit ddnsunit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdComponent, IdUDPBase, IdUDPClient, IdBaseComponent,
  IdAntiFreezeBase, IdAntiFreeze, StdCtrls,link,shellapi, ComCtrls, ExtCtrls,
  OleCtrls, SHDocVw;

type
  TForm1 = class(TForm)
    nameedit: TEdit;
    passedit: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    dlrz: TMemo;
    UDPAntiFreeze: TIdAntiFreeze;
    UDPClient: TIdUDPClient;
    StatusBar1: TStatusBar;
    Timer1: TTimer;
    Timer2: TTimer;
    wgip: TEdit;
    Label3: TLabel;
    ipdz: TEdit;
    Label4: TLabel;
    Label5: TLabel;
    Memo1: TMemo;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Label5Click(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
 MyStream: TMemoryStream;
 MySendTxt,reciver_s,ym_s,bb_s: String;
  MessageID: Integer;
  ThisMessage: String;
  ReceivedString,dkhm: String;
Begin
 if nameedit.Text='' then begin StatusBar1.Panels[1].Text:='  请输入用户名。'; nameedit.SetFocus;exit;end;
 if passedit.Text='' then begin StatusBar1.Panels[1].Text:='  请输入密码。';passedit.SetFocus;exit;end;
 UDPClient.Port :=7688;
 UDPClient.Host :='shiyanbanben.noip.cn';{远程主机}
 MysendTxt:= nameedit.Text+'&'+passedit.text;
  MessageID := Random(MAXINT);
   ThisMessage:= 'shiyanbanben'+nameedit.Text+'&&&'+passedit.text+'&&&';
try
  UDPClient.Send(ThisMessage); timer1.Interval :=1500;
except
StatusBar1.Panels[1].Text:='  登录失败,线路不通! ';
exit;
end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
 MyStream: TMemoryStream;
 MySendTxt,reciver_s,ym_s,bb_s,ip_s: String;
  MessageID: Integer;
  ThisMessage: String;
  ReceivedString,dkhm: String;
begin
try
  ReceivedString := UDPClient.ReceiveString();
  if ReceivedString = '' then
timer1.Interval :=0
  else
  begin
  timer1.Interval :=1500;
   reciver_s:=ReceivedString;
   ym_s:=reciver_s;
   if copy(reciver_s,1,8)='stopfuwu' then begin timer1.Interval:=0;end;
   if copy(reciver_s,1,8)='dengluok' then
       begin
       Timer2.Interval :=15000;   //开始检查IP
       StatusBar1.Panels[1].Text:='  登录成功!    ';
       ym_s:=copy(ym_s,12,pos('&&&',ym_s)-12);
       bb_s:=copy(reciver_s,pos('&&&',reciver_s)+3,length(reciver_s));
       ip_s:=copy(bb_s,1,pos('&&&',bb_s)-1);
       wgip.Text :=ip_s;
       ipdz.Text :=getips;
       bb_s:=copy(bb_s,pos('&&&',bb_s)+3,length(bb_s));
       bb_s:=copy(bb_s,1,pos('&&&',bb_s)-1);
       reciver_s:=copy(reciver_s,9,1);
       if pos('Repeat landing', ym_s)>0 then
       dlrz.Lines.Add('域名重复登录成功,IP是 '+ip_s+' 时间 '+datetostr(date())+' '+TimeToStr(Time)+' 用户('+nameedit.text+')')
       else
dlrz.Lines.Add('域名:'+ym_s+'  登录成功,IP是 '+ip_s+' 时间 '+datetostr(date())+' '+TimeToStr(Time)+' 用户('+nameedit.text+')');
       end;
  if copy(reciver_s,1,12)='nzhuceyonghu' then
       begin

dlrz.Lines.Add(datetostr(date())+' '+TimeToStr(Time)+' '+nameedit.text+' 登录失败!');
       reciver_s:=copy(reciver_s,13,1);
       StatusBar1.Panels[1].Text:='  输入有误或没注册,请看弹出窗口! ';
       end;
end;
except
StatusBar1.Panels[1].Text:=timetostr(now)+' 登录失败,线路不通';
end;
end;

procedure TForm1.Label5Click(Sender: TObject);
begin
shellexecute(handle, 'OPEN', 'http://www.noip.cn/regedit.shtml', pchar('www.meibu.com/khd.asp'), nil, SW_SHOW) ;

end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
 if ipdz.Text<>getips then
 begin
   timer2.Interval :=0;//如果本机IP改变,则从新登陆
   button1.Click ;
 end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -