?? unit2.pas
字號:
unit Unit2;
{作者BLOG ALALMN JACK http://hi.baidu.com/alalmn
遠程控制和木馬編寫群30096995 }
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdFTP, shellapi,IniFiles,winsock;
type
Tftp = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
ComboBox1: TComboBox;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Button1: TButton;
Label9: TLabel;
Edit7: TEdit;
Button2: TButton;
IdFTP1: TIdFTP;
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
ftp: Tftp;
myinifile:Tinifile; //定義類型INI
implementation
{$R *.dfm}
procedure GetLocalIP;
type
TaPInAddr = array[0..255] of PInAddr;
PaPInAddr = ^TaPInAddr;
var
phe: PHostEnt;
pptr: PaPInAddr;
Buffer: array[0..63] of char;
i: integer;
GInitData: TWSADATA;
Temp: string;
begin
wsastartup($101, GInitData);
Temp := '';
GetHostName(Buffer, SizeOf(Buffer));
phe := GetHostByName(buffer);
if not assigned(phe) then
exit;
pptr := PaPInAddr(Phe^.h_addr_list);
i := 0;
while pptr^[I] <> nil do begin
Temp := Temp + StrPas(inet_ntoa(pptr^[I]^)) + ',';
inc(i);
end;
Delete(Temp, Length(Temp), 1);
try
ftp.ComboBox1.Text:=Temp;
ftp.ComboBox1.Items.Add(Temp); //添加IP
except
end;
wsacleanup; //清除
end;
procedure Tftp.Button2Click(Sender: TObject);
begin
ShellExecute(0,nil,PChar(Edit7.Text), nil, nil, SW_NORMAL);
end;
procedure Tftp.FormCreate(Sender: TObject);
var
filename:string;
begin
filename:=ExtractFilePath(paramstr(0))+'alalmn.ini'; //把myini.ini文件存儲在應用程序當前目錄中
myinifile:=TInifile.Create(filename); //把myini.ini文件存儲在應用程序當前目錄中
edit1.Text:= myinifile.readstring('FTP參數','FTP服務器','222.189.228.184');
edit2.Text:= myinifile.readstring('FTP參數','端口','21');
edit3.Text:= myinifile.readstring('FTP參數','用戶名','alalmn');
edit4.Text:= myinifile.readstring('FTP參數','登陸密碼','123456');
edit5.Text:= myinifile.readstring('FTP參數','確認密碼','654321');
edit6.Text:= myinifile.readstring('FTP參數','存放IP文件','wwwroot\\ip.txt');
edit7.Text:= myinifile.readstring('FTP參數','HTTP地址','http://www.e1058.com/ip.txt');
end;
procedure Tftp.FormDestroy(Sender: TObject);
begin
myinifile.writestring('FTP參數','FTP服務器',edit1.Text);
myinifile.writestring('FTP參數','端口',edit2.Text);
myinifile.writestring('FTP參數','用戶名',edit3.Text);
myinifile.writestring('FTP參數','登陸密碼',edit4.Text);
myinifile.writestring('FTP參數','確認密碼',edit5.Text);
myinifile.writestring('FTP參數','存放IP文件',edit6.Text);
myinifile.writestring('FTP參數','HTTP地址',edit7.Text);
myinifile.Destroy;
end;
procedure Tftp.Button1Click(Sender: TObject);
var
F:TextFile;
begin
if Edit1.Text='' then
begin
Label7.Caption :='請輸入FTP服務器地址!';
Exit;
end;
if Edit3.Text='' then
begin
Label7.Caption :='請輸入FTP用戶名!';
Exit;
end;
if Edit4.Text<>Edit5.Text then
begin
Label7.Caption :='兩次密碼輸入不一樣!';
Edit4.Text:='';
Edit5.Text:='';
Exit;
end;
Label7.caption:='正在更新FTP!';
IdFTP1.Host:= Edit1.Text;
IdFTP1.Port:= strtoint(Edit2.Text);
IdFTP1.Username:=Edit3.Text;
IdFTP1.Password:=Edit4.Text;
IdFTP1.Connect(); //連接
if IdFTP1.Connected then //連接相應操作
begin
AssignFile(F,ExtractFilePath(Paramstr(0))+'test.htm');
ReWrite(F);
Writeln(F,'{window.location = "http://'+ComboBox1.text+'";;}');
CloseFile(F);
IdFTP1.Put(ExtractFilePath(Paramstr(0))+'test.htm',Edit6.Text,false);
IdFTP1.Disconnect;
Label7.caption:='更新FTP成功,請使用'+Edit7.Text+'訪問!';
end else
begin
Label7.caption:='更新IP錯誤!請檢查網絡!';
end;
if FileExists(ExtractFilePath(Paramstr(0))+'test.htm') then
DeleteFile(ExtractFilePath(Paramstr(0))+'test.htm');
end;
procedure Tftp.FormShow(Sender: TObject);
begin
GetLocalIP;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -