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

📄 unit1.pas

📁 DELPHI 下远程控制源码
💻 PAS
📖 第 1 页 / 共 5 页
字号:
    N167: TMenuItem;
    N168: TMenuItem;
    N169: TMenuItem;
    N170: TMenuItem;
    N171: TMenuItem;
    N172: TMenuItem;
    N173: TMenuItem;
    N174: TMenuItem;
    N175: TMenuItem;
    N176: TMenuItem;
    N177: TMenuItem;
    N178: TMenuItem;
    N179: TMenuItem;
    N180: TMenuItem;
    N181: TMenuItem;
    N146: TMenuItem;
    N182: TMenuItem;
    N183: TMenuItem;
    N184: TMenuItem;
    N185: TMenuItem;
    N186: TMenuItem;
    Panel28: TPanel;
    Panel29: TPanel;
    SpeedButton9: TSpeedButton;
    SpeedButton10: TSpeedButton;
    SpeedButton11: TSpeedButton;
    SpeedButton12: TSpeedButton;
    SpeedButton13: TSpeedButton;
    SpeedButton18: TSpeedButton;
    DownCDSStates: TStringField;
    UpCDSStates: TStringField;
    SpeedButton19: TSpeedButton;
    SpeedButton20: TSpeedButton;
    SpeedButton14: TSpeedButton;
    SpeedButton15: TSpeedButton;
    SpeedButton16: TSpeedButton;
    SpeedButton17: TSpeedButton;
    TabSheet4: TTabSheet;
    TabSheet6: TTabSheet;
    Timer1: TTimer;
    Timer2: TTimer;
    N187: TMenuItem;
    N188: TMenuItem;
    N189: TMenuItem;
    N190: TMenuItem;
    N191: TMenuItem;
    N23: TMenuItem;
    N25: TMenuItem;
    N26: TMenuItem;
    N27: TMenuItem;
    N28: TMenuItem;
    N41: TMenuItem;
    N45: TMenuItem;
    ToolButton35: TToolButton;
    Image1: TImage;
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure TabSheet2DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    procedure ListBox1DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    procedure ToolButton15Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure ToolButton12Click(Sender: TObject);
    procedure IdFTCPClientConnected(Sender: TObject);
    procedure IdFTCPClientDisconnected(Sender: TObject);
    procedure SpeedButton28Click(Sender: TObject);
    procedure SpeedButton26Click(Sender: TObject);
    procedure N64Click(Sender: TObject);
    procedure N98Click(Sender: TObject);
    procedure N65Click(Sender: TObject);
    procedure N99Click(Sender: TObject);
    procedure TreeView2MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure TreeView2DblClick(Sender: TObject);
    procedure N12Click(Sender: TObject);
    procedure N13Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
    procedure N9Click(Sender: TObject);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure SpeedButton38Click(Sender: TObject);
    procedure ToolButton14Click(Sender: TObject);
    procedure ToolButton18Click(Sender: TObject);
    procedure ToolButton20Click(Sender: TObject);
    procedure ToolButton9Click(Sender: TObject);
    procedure ToolButton8Click(Sender: TObject);
    procedure Memo2KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure N14Click(Sender: TObject);
    procedure Panel11MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure TreeView1Click(Sender: TObject);
    procedure TreeView1DblClick(Sender: TObject);
    procedure ListView1ColumnClick(Sender: TObject; Column: TListColumn);
    procedure ListView1DblClick(Sender: TObject);
    procedure ListView1Compare(Sender: TObject; Item1, Item2: TListItem;
      Data: Integer; var Compare: Integer);
    procedure ToolButton26Click(Sender: TObject);
    procedure ToolButton22Click(Sender: TObject);
    procedure ToolButton37Click(Sender: TObject);
    procedure ToolButton10Click(Sender: TObject);
    procedure IdFTCPClientStatus(axSender: TObject;
      const axStatus: TIdStatus; const asStatusText: String);
    procedure IdFTCPClientWorkBegin(Sender: TObject; AWorkMode: TWorkMode;
      const AWorkCountMax: Integer);
    procedure IdFTCPClientWork(Sender: TObject; AWorkMode: TWorkMode;
      const AWorkCount: Integer);
    procedure IdFTCPClientWorkEnd(Sender: TObject; AWorkMode: TWorkMode);
    procedure N38Click(Sender: TObject);
    procedure ToolButton1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure SpeedButton2Click(Sender: TObject);
    procedure ToolButton45Click(Sender: TObject);
    procedure ToolButton31Click(Sender: TObject);
    procedure ListView1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure ToolButton28Click(Sender: TObject);
    procedure ToolButton27Click(Sender: TObject);
    procedure ToolButton30Click(Sender: TObject);
    procedure ToolButton29Click(Sender: TObject);
    procedure N40Click(Sender: TObject);
    procedure TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure N102Click(Sender: TObject);
    procedure N111Click(Sender: TObject);
    procedure ToolButton33Click(Sender: TObject);
    procedure ToolButton34Click(Sender: TObject);
    procedure N30Click(Sender: TObject);
    procedure N31Click(Sender: TObject);
    procedure N32Click(Sender: TObject);
    procedure N33Click(Sender: TObject);
    procedure ToolButton11Click(Sender: TObject);
    procedure N107Click(Sender: TObject);
    procedure N108Click(Sender: TObject);
    procedure N109Click(Sender: TObject);
    procedure N110Click(Sender: TObject);
    procedure N22Click(Sender: TObject);
    procedure ListView1Edited(Sender: TObject; Item: TListItem;
      var S: String);
    procedure ToolButton32Click(Sender: TObject);
    procedure ToolButton41Click(Sender: TObject);
    procedure ToolButton44Click(Sender: TObject);
    procedure ToolButton43Click(Sender: TObject);
    procedure N43Click(Sender: TObject);
    procedure N118Click(Sender: TObject);
    procedure N113Click(Sender: TObject);
    procedure N114Click(Sender: TObject);
    procedure N115Click(Sender: TObject);
    procedure N117Click(Sender: TObject);
    procedure N121Click(Sender: TObject);
    procedure N34Click(Sender: TObject);
    procedure N123Click(Sender: TObject);
    procedure N35Click(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure N120Click(Sender: TObject);
    procedure ToolButton42Click(Sender: TObject);
    procedure N126Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure N124Click(Sender: TObject);
    procedure N131Click(Sender: TObject);
    procedure N127Click(Sender: TObject);
    procedure N128Click(Sender: TObject);
    procedure N125Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton7Click(Sender: TObject);
    procedure ListView2MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure ListView1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure SpeedButton8Click(Sender: TObject);
    procedure SpeedButton6Click(Sender: TObject);
    procedure N112Click(Sender: TObject);
    procedure N134Click(Sender: TObject);
    procedure N135Click(Sender: TObject);
    procedure N133Click(Sender: TObject);
    procedure ListView3MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure ListView4MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure BitBtn8Click(Sender: TObject);
    procedure BitBtn7Click(Sender: TObject);
    procedure N136Click(Sender: TObject);
    procedure N137Click(Sender: TObject);
    procedure N140Click(Sender: TObject);
    procedure MenuItem1Click(Sender: TObject);
    procedure MenuItem10Click(Sender: TObject);
    procedure MenuItem9Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure N17Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure DBGrid2DblClick(Sender: TObject);
    procedure UserCDSBeforeClose(DataSet: TDataSet);
    procedure DownCDSBeforeClose(DataSet: TDataSet);
    procedure DownCDSAfterDelete(DataSet: TDataSet);
    procedure N36Click(Sender: TObject);
    procedure N42Click(Sender: TObject);
    procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
    procedure SpeedButton10Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure SpeedButton12Click(Sender: TObject);
    procedure SpeedButton13Click(Sender: TObject);
    procedure SpeedButton9Click(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure SpeedButton15Click(Sender: TObject);
    procedure SpeedButton16Click(Sender: TObject);
    procedure SpeedButton17Click(Sender: TObject);
    procedure UpCDSAfterDelete(DataSet: TDataSet);
    procedure SpeedButton14Click(Sender: TObject);
    procedure N100Click(Sender: TObject);
    procedure TreeView1DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    procedure ToolButton35Click(Sender: TObject);
    procedure ToolButton46Click(Sender: TObject);
    procedure N41Click(Sender: TObject);
    procedure N25Click(Sender: TObject);
    procedure N26Click(Sender: TObject);
    procedure N27Click(Sender: TObject);
    procedure N45Click(Sender: TObject);
    procedure ToolButton48Click(Sender: TObject);
    procedure ToolButton13Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure ToolButton17Click(Sender: TObject);
    procedure ListView1DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    procedure TreeView1DragDrop(Sender, Source: TObject; X, Y: Integer);
    procedure ListView1DragDrop(Sender, Source: TObject; X, Y: Integer);
    procedure ListView1StartDrag(Sender: TObject;
      var DragObject: TDragObject);
    procedure TreeView1StartDrag(Sender: TObject;
      var DragObject: TDragObject);
  private
    { Private declarations }        
    CurrentTreeNode:TTreeNode;//目录列表的节点
    procedure ShowDisConnectGUI;//显示断开连接界面
    procedure ShowConnectGUI;//显示连接界面
    Function  isRemoteHost(MyTV:TTreeView):boolean;//测试当前主机是否是远程主机
    Procedure OpenListDirFiles(MyTV:TTreeView;MyLV:TListView;
					TheDirCBX:TComboBox);//打开文件列表的目录
    Procedure OpenLocalDirFile(MyTV:TTreeView;MyLV:TListView;
					TheDirCBX:TComboBox);//打开本地目录
    Procedure LocalDirSet(TvList:TTreeView;SetDir:TComboBox);//本地目录设置
    procedure RemoteDirSet(TvList:TTreeView;SetDir:TComboBox);//setRemoteDir
    Procedure SetUserInfo(ShowUI:TTreeView;FromData:TClientDataSet); //设置显示用户组信息
    Procedure DeleteUser(ShowUI:TTreeView;FromData:TClientDataSet);  //删除用户信息
    Procedure DeleteGroup(ShowUI:TTreeView;FromData:TClientDataSet); //删除组信息
    Procedure ClearAllInfo(FromData:TClientDataSet); //清除所有用户及组信息
    Procedure ShowDrives(ShowVL:TTreeView;DrvList:TStringList); //显示驱动目录结构
    Procedure ShowFilesList(DirPath:String;ShowFL:TListView;ShowDL:TTreeView);//显示文件目录信息
    Procedure ShowMyDrv;
    procedure TheDirCopy;
    procedure TheDirXCopy;
    procedure TheFileCopy;
    procedure TheFileXCopy;
    procedure TheFilePaste;
    procedure TheDirPaste;
    procedure TheDirDelete;
    procedure TheFileDelete;
    procedure TheFileRename;
    procedure TheDirRename;
    procedure TheFileSearch;
    procedure TheFileOpen;
    procedure TheFileDownLoad;
    procedure TheFileUpLoad;
    procedure TheDirCopyTo;
    procedure TheDirMoveTo;
    procedure TheDirNew;
    procedure TheRemoteScreen;
    procedure TheDirOrFileAttr;
    procedure TheLVFileDrop;
    procedure TheLVDirDrop;
    procedure TheTVDirDrop;
    function GetLocalDir(TheTV: TTreeView): String;
    function GetRemoteDir(TheTV: TTreeView): String;//显示自己的磁盘信息;
  public
    //====================================下载上载循环监控线程的计数
      DLThreadCount,DLThreadMax:integer;
      ULThreadCount,ULThreadMax:integer;
      LMThreadCount,LMThreadMax:integer;
    //====================================下载上载循环监控线程的计数
    
    isFileXCopy :boolean;   //用于表示复制的操作是针对目录文件的类型
    isRemoteStat:boolean;   //标识当前的操作是否是远程操作
    TheFileConnectRec:TConnectRec;//进行远程文件管理的连接记录信息

    CXSourceFile:TOpFile; //用于进行复制 剪切 粘贴的操作记录结构
    CXSourceDirName          :TOpDir; 

    isFileDrop : boolean;   //区分拖动的对象是文件还是目录或文件夹
    DropSourceFile:TOpFile; //用于进行文件目录拖动操作的记录结构
    DropSourceDirName          :TOpDir; 
    
    LocalDir,RemoteDir:String;//当前本地目录--远程目录名
    MyConnectOpt:TConnectOpt;//用于进行网络连接的数据记录结构
		 //连接远程主机
    Function ConnectRemoteHost(MyTcp:TidTcpClient;TheConRec:TConnectRec):Boolean;//连接远程主机
		 //设置连接的选项:代理和加密信息
    Procedure SetConnectOpt(TCPClient:TidTCPClient;TheOpt:TConnectOpt);
		 //初始化上载下载循环监控的记录信息
    procedure SetTheSysData(DownLData,UpLData,LoopMData,LoopIPData:TClientDataSet);
  end;
const
   SHeight=200; //显示任务及共享资源的高度
var
  Form1: TForm1;
  CurrentDir:String;//执行文件的路径
  TheUserInfoFileName:String; //用户信息记录文件名   1
  TheDownLoadRecFile :string; //下载列表缓存文件名   2
  TheUpLoadRecFile   :string; //上载文件列表文件名   3
  TheLoopMonitorFile :String; //循环监控的文件名记录 4
  TheLoopMHostFile   :String; //循环监控主机文件名   5
  //=======================================================设置临界对象
   LetDLSingle:TCriticalSection; //设置临界对象,用于下载计数
   LetULSingle:TCriticalSection; //设置临界对象,用于上载计数
   LetLMSingle:TCriticalSection; //设置临界对象,用于屏幕循环计数
   LetDrawSingle:TCriticalSection;//用于绘制屏幕和后台缓冲区控制
  //=======================================================设置临界对象
implementation

uses UserInfo, GroupInfo, sysUnit, LoopScrUnit,MainProcUnit,
  SingleDLoadUnit, UpLoadUnit, RemoteScrUnit, FullSingleScrUnit,
  LocalCopyUnit,Unit1UseUnit, FileSearchUnit, SearchDLUnit,TMultiDLUnit,
  DLTimeSetUnit, ShowDelUnit,TMultiULUnit, ULTimeSetUnit, RemoteCPCUnit,
  ScanIPUnit, RegUnit;
  
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin 
   //=======================================================设置临界对象
   LetDLSingle:=TCriticalSection.Create; //设置临界对象,用于下载计数
   LetULSingle:=TCriticalSection.Create; //设置临界对象,用于上载计数
   LetLMSingle:=TCriticalSection.Create; //设置临界对象,用于屏幕循环计数
   LetDrawSingle:=TCriticalSection.Create;//用于绘制屏幕和后台缓冲区控制
  //=======================================================设置临界对象

  //====================================下载上载循环监控线程的计数
      DLThreadCount:=0;DLThreadMax:=8; //
      ULThreadCount:=0;ULThreadMax:=8; //    设置多线程工作的上限
      LMThreadCount:=0;LMThreadMax:=8; //
  //====================================下载上载循环监控线程的计数 
   Panel4.Width:=1;//隐藏用户组信息
   TreeView2.Items.Clear; //清除原有信息   
   SetUserInfo(TreeView2,UserCDS); //设置管理目录信息
   Panel6.Height:=0;  //关闭附加的信息
   ShowMyDrv;//显示自己的磁盘信息
  //下为设置初始的网络连接附加信息,以后要改进... ...
   MyConnectOpt.UseNagle:=False;
   MyConnectOpt.UseProxy:=False;
   MyConnectOpt.UseIntercept:=False;
end;
procedure TForm1.SetTheSysData(DownLData,UpLData,LoopMData,
				       LoopIPData:TClientDataSet);
var
  ThePath       :String;  
begin
  //分析目录,提取文件
  ThePath:=ExtractFilePath(Application.ExeName);
  if ThePath[Length(ThePath)]='\' then
  begin
    TheDownLoadRecFile:=ThePath+'data\DLSchem.cds';
    TheUpLoadRecFile  :=ThePath+'data\ULSchem.cds';    
    TheLoopMHostFile  :=ThePath+'data\LoopScrM.cds'; 
    TheLoopMonitorFile:=ThePath+'data\LoopScrP.cds';
  end else
  begin
    TheDownLoadRecFile:=ThePath+'\data\DLSchem.cds';
    TheUpLoadRecFile  :=ThePath+'\data\ULSchem.cds';    
    TheLoopMHostFile  :=ThePath+'\data\LoopScrM.cds';
    TheLoopMonitorFile:=ThePath+'\data\LoopScrP.cds';  
  end;
  
  //--------------------------------------------初始化下载文件列表---1
  if Not FileExists(TheDownLoadRecFile) then  //如果不存在创建目录与文件
  begin
    if Not DirectoryExists(ExtractFilePath(TheDownLoadRecFile)) Then

⌨️ 快捷键说明

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