?? ddnsunit.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 + -