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

📄 mainprocunit.pas

📁 DELPHI 下远程控制源码
💻 PAS
字号:
unit MainProcUnit;
interface
uses windows,ComCtrls,IdTCPClient,Classes,StrUtils,SysUtils;

//========================================================================
          //远程磁盘信息解析-----------1
Procedure ShowRemoteDrives(ShowVL:TTreeView;DrvList:TStringList);
           //远程磁盘信息接收显示-------2
procedure RemoteProcDiskInfo(TheTV:TTreeView;TheTcp:TidTCPClient);
          //远程文件目录信息接收显示----3
procedure RemoteProcFileInfo(TheTV:TTreeView;TheSelectNode:TTreeNode;
			      TheTL:TListView;TheTcp:TidTCPClient);
          //显示远程文件目录信息-----4
Procedure ShowRemoteFiles(FList:TStringList;ShowFL:TListView;
			   ShowDL:TTreeView;TheSelectNode:TTreeNode);

implementation


Procedure ShowRemoteFiles(FList:TStringList;ShowFL:TListView;
			   ShowDL:TTreeView;TheSelectNode:TTreeNode);
var
  i:integer;
  TheListItems:TListItem;
  TheNode:TTreeNode;
  TheFileExt:String;
begin
  i:=0;
  ShowFL.Clear;
  ShowDL.Selected.DeleteChildren;
  if FList.Text<>'' then
  begin
    repeat
      if ((FList[i+1]='0') and
         (StrToInt(FList[i+2])>15) and
         ((StrToInt(FList[i+2])<32) or
         (StrToInt(FList[i+2])>47))) then
      begin
       if (FList[i]<>'.') then
        if (FList[i]<>'..') then
        begin
          TheNode:=ShowDL.Items.AddChild(ShowDL.Selected,FList[i]);
          TheNode.SelectedIndex:=8;
          TheNode.ImageIndex:=7;
          TheListItems:=ShowFL.Items.Add;
          TheListItems.ImageIndex:=7;
          TheListItems.Caption:=FList[i];
          TheListItems.SubItems.add('');
          TheListItems.SubItems.add('文件夹');
          TheListItems.SubItems.add(FList[i+3]);
        end;
      end else
      begin
	TheFileExt:=ExtractFileExt(FList[i]);
	TheListItems:=ShowFL.Items.Add;         
	TheListItems.Caption:=FList[i];
	TheListItems.SubItems.add(FList[i+1]);
	TheListItems.SubItems.Add(TheFileExt);
	//=============================================设置显示分类===
	TheListItems.ImageIndex:=9;
	 if UpperCase(TheFileExt)='.TXT' then  TheListItems.ImageIndex:=10;
	 if UpperCase(TheFileExt)='.INI' then  TheListItems.ImageIndex:=11;
	 if UpperCase(TheFileExt)='.SYS' then  TheListItems.ImageIndex:=12;
	 if UpperCase(TheFileExt)='.DLL' then  TheListItems.ImageIndex:=12;
	 if UpperCase(TheFileExt)='.VXD' then  TheListItems.ImageIndex:=12;   
	 if UpperCase(TheFileExt)='.COM' then  TheListItems.ImageIndex:=14;
	 if UpperCase(TheFileExt)='.EXE' then  TheListItems.ImageIndex:=14;
	 if UpperCase(TheFileExt)='.BAT' then  TheListItems.ImageIndex:=15;
	 if UpperCase(TheFileExt)='.ZIP' then  TheListItems.ImageIndex:=16;
	 if UpperCase(TheFileExt)='.CAB' then  TheListItems.ImageIndex:=16;
	 if UpperCase(TheFileExt)='.RAR' then  TheListItems.ImageIndex:=16;
	 if UpperCase(TheFileExt)='.DOC' then  TheListItems.ImageIndex:=17;
	 if UpperCase(TheFileExt)='.XLS' then  TheListItems.ImageIndex:=18;
	 if UpperCase(TheFileExt)='.PPT' then  TheListItems.ImageIndex:=19;
	 if UpperCase(TheFileExt)='.JPG' then  TheListItems.ImageIndex:=20;
	 if UpperCase(TheFileExt)='.JPEG' then TheListItems.ImageIndex:=21;	 
	 if UpperCase(TheFileExt)='.RLE' then  TheListItems.ImageIndex:=22;
	 if UpperCase(TheFileExt)='.PSD' then  TheListItems.ImageIndex:=23;
	 if UpperCase(TheFileExt)='.PDD' then  TheListItems.ImageIndex:=23;
	 if UpperCase(TheFileExt)='.FON' then  TheListItems.ImageIndex:=24;
	 if UpperCase(TheFileExt)='.TTF' then  TheListItems.ImageIndex:=24;
	 if UpperCase(TheFileExt)='.TTC' then  TheListItems.ImageIndex:=24;
	 if UpperCase(TheFileExt)='.RA' then   TheListItems.ImageIndex:=25;
	 if UpperCase(TheFileExt)='.RM' then   TheListItems.ImageIndex:=25;
	 if UpperCase(TheFileExt)='.AVI' then  TheListItems.ImageIndex:=26;
	 if UpperCase(TheFileExt)='.WAV' then  TheListItems.ImageIndex:=27;	 
	 if UpperCase(TheFileExt)='.MID' then  TheListItems.ImageIndex:=27;
	 if UpperCase(TheFileExt)='.RMI' then  TheListItems.ImageIndex:=27;
	 if UpperCase(TheFileExt)='.MIDI' then TheListItems.ImageIndex:=27;
	 if UpperCase(TheFileExt)='.MIDI' then TheListItems.ImageIndex:=27;
	 if UpperCase(TheFileExt)='.BMP' then  TheListItems.ImageIndex:=28;
	 if UpperCase(TheFileExt)='.GIF' then  TheListItems.ImageIndex:=29;
	 if UpperCase(TheFileExt)='.CHM' then  TheListItems.ImageIndex:=30;
	 if UpperCase(TheFileExt)='.HLP' then  TheListItems.ImageIndex:=31;
	 if UpperCase(TheFileExt)='.SWF' then  TheListItems.ImageIndex:=32;
	 if UpperCase(TheFileExt)='.XML' then  TheListItems.ImageIndex:=33;
	 if UpperCase(TheFileExt)='.HTML' then TheListItems.ImageIndex:=34;
	 if UpperCase(TheFileExt)='.MHT' then  TheListItems.ImageIndex:=34;
	 if UpperCase(TheFileExt)='.LOG' then  TheListItems.ImageIndex:=35;
	 if UpperCase(TheFileExt)='.EML' then  TheListItems.ImageIndex:=36;
	 if UpperCase(TheFileExt)='.SCR' then  TheListItems.ImageIndex:=37;
	 if UpperCase(TheFileExt)='.HTM' then  TheListItems.ImageIndex:=38;
	 if UpperCase(TheFileExt)='.MP3' then  TheListItems.ImageIndex:=39;
	 if UpperCase(TheFileExt)='.MP2' then  TheListItems.ImageIndex:=39;
	 if UpperCase(TheFileExt)='.MP1' then  TheListItems.ImageIndex:=39;
	 if UpperCase(TheFileExt)='.CDA' then  TheListItems.ImageIndex:=39;
	 if UpperCase(TheFileExt)='.SND' then  TheListItems.ImageIndex:=39;
	 if UpperCase(TheFileExt)='.AU'  then  TheListItems.ImageIndex:=39;
	 if UpperCase(TheFileExt)='.AIF' then  TheListItems.ImageIndex:=39;
	 if UpperCase(TheFileExt)='.AIFC' then TheListItems.ImageIndex:=39;
	 if UpperCase(TheFileExt)='.AIFF' then TheListItems.ImageIndex:=39;
	 if UpperCase(TheFileExt)='.WMA' then  TheListItems.ImageIndex:=39;
	 if UpperCase(TheFileExt)='.ASX'  then TheListItems.ImageIndex:=39;
	 if UpperCase(TheFileExt)='.WAX'  then TheListItems.ImageIndex:=39;
	 if UpperCase(TheFileExt)='.W3U' then  TheListItems.ImageIndex:=39;
	 if UpperCase(TheFileExt)='.WVX' then  TheListItems.ImageIndex:=39;
	 if UpperCase(TheFileExt)='.WMX' then  TheListItems.ImageIndex:=39;
	 if UpperCase(TheFileExt)='.MPEG' then TheListItems.ImageIndex:=40;
	 if UpperCase(TheFileExt)='.MPG'  then TheListItems.ImageIndex:=40;
	 if UpperCase(TheFileExt)='.MLV' then  TheListItems.ImageIndex:=40;
	 if UpperCase(TheFileExt)='.MPA' then  TheListItems.ImageIndex:=40;
	 if UpperCase(TheFileExt)='.MPE' then  TheListItems.ImageIndex:=40;
	 if UpperCase(TheFileExt)='.WMV' then  TheListItems.ImageIndex:=40;
	 if UpperCase(TheFileExt)='.MPV' then  TheListItems.ImageIndex:=40;
	 if UpperCase(TheFileExt)='.ASF' then  TheListItems.ImageIndex:=40;
	 if UpperCase(TheFileExt)='.W1V' then  TheListItems.ImageIndex:=40;
	 if UpperCase(TheFileExt)='.KPL' then  TheListItems.ImageIndex:=40;
	 if UpperCase(TheFileExt)='.MOV' then  TheListItems.ImageIndex:=40;
	 if UpperCase(TheFileExt)='.QT'  then  TheListItems.ImageIndex:=40;
	 
	 if UpperCase(TheFileExt)='.ART' then  TheListItems.ImageIndex:=41;
	 if UpperCase(TheFileExt)='.DJV' then  TheListItems.ImageIndex:=42;
	 if UpperCase(TheFileExt)='.EMF' then  TheListItems.ImageIndex:=43;
	 if UpperCase(TheFileExt)='.EPS' then  TheListItems.ImageIndex:=44;
	 if UpperCase(TheFileExt)='.FPX' then  TheListItems.ImageIndex:=45;
	 if UpperCase(TheFileExt)='.ICN' then  TheListItems.ImageIndex:=46;
	 if UpperCase(TheFileExt)='.ICO' then  TheListItems.ImageIndex:=47;
	 if UpperCase(TheFileExt)='.IFF' then  TheListItems.ImageIndex:=48;
	 if UpperCase(TheFileExt)='.KDC' then  TheListItems.ImageIndex:=49;
	 if UpperCase(TheFileExt)='.LDF' then  TheListItems.ImageIndex:=50;
	 if UpperCase(TheFileExt)='.LWF' then  TheListItems.ImageIndex:=51;
	 if UpperCase(TheFileExt)='.MAG' then  TheListItems.ImageIndex:=52;
	 if UpperCase(TheFileExt)='.PBM' then  TheListItems.ImageIndex:=53;
	 if UpperCase(TheFileExt)='.PCD' then  TheListItems.ImageIndex:=54;
	 if UpperCase(TheFileExt)='.PCX' then  TheListItems.ImageIndex:=55;
	 if UpperCase(TheFileExt)='.PDF' then  TheListItems.ImageIndex:=56;
	 if UpperCase(TheFileExt)='.PGM' then  TheListItems.ImageIndex:=57;
	 if UpperCase(TheFileExt)='.PIC' then  TheListItems.ImageIndex:=58;
	 if UpperCase(TheFileExt)='.PICT' then TheListItems.ImageIndex:=59;
	 if UpperCase(TheFileExt)='.PIX' then  TheListItems.ImageIndex:=60;
	 if UpperCase(TheFileExt)='.PNG' then  TheListItems.ImageIndex:=61;
	 if UpperCase(TheFileExt)='.PPM' then  TheListItems.ImageIndex:=62;
	 if UpperCase(TheFileExt)='.PS'  then  TheListItems.ImageIndex:=63;
	 if UpperCase(TheFileExt)='.PSP' then  TheListItems.ImageIndex:=64;
	 if UpperCase(TheFileExt)='.RAS' then  TheListItems.ImageIndex:=65;
	 if UpperCase(TheFileExt)='.RS'  then  TheListItems.ImageIndex:=66;
	 if UpperCase(TheFileExt)='.SGI' then  TheListItems.ImageIndex:=67;
	 if UpperCase(TheFileExt)='.TGA' then  TheListItems.ImageIndex:=68;
	 if UpperCase(TheFileExt)='.TIF' then  TheListItems.ImageIndex:=69;
	 if UpperCase(TheFileExt)='.WMF' then  TheListItems.ImageIndex:=70;
	 if UpperCase(TheFileExt)='.XBM' then  TheListItems.ImageIndex:=71;
	 if UpperCase(TheFileExt)='.XPM' then  TheListItems.ImageIndex:=72;
	 
	//=============================================设置显示分类===
        TheListItems.SubItems.add(FList[i+3]);
      end;
      i:=i+4;
    until i>FList.Count-1;
  end;
end;
          //远程文件目录信息接收显示---3
procedure RemoteProcFileInfo(TheTV:TTreeView;TheSelectNode:TTreeNode;
		 TheTL:TListView;TheTcp:TidTCPClient);
var
  TheSize,i:integer;
  TheStrStream:TStringStream;
  TheStrlist  :TStringList;
begin
  TheSize:=0;
  Try
     TheStrStream:=TStringStream.Create('');
  except
    exit;
  end;
  Try
     TheStrList:=TStringList.Create;
  except
    TheStrStream.Free;
    exit;
  end;
  Try
    TheSize:=TheTcp.ReadInteger;
    TheTcp.ReadStream(TheStrStream,TheSize);
  except
    TheStrStream.Free;
    TheStrList.Free;
    exit;
  end;
  TheStrList.Text:=TheStrStream.DataString;
  ShowRemoteFiles(TheStrList,TheTL,TheTV,TheSelectNode);
  //============================================================
  TheStrStream.Free;
  TheStrList.Free;
end;
Procedure ShowRemoteDrives(ShowVL:TTreeView;DrvList:TStringList); //解析磁盘数据
var
   i,j,iPos :integer;
   iNode    :TTreeNode;
   TempStr  :String;
begin
    for j:=0 To ShowVL.Items.Count-1 do
    begin
        if LeftStr(ShowVL.Items[j].Text,8)='远程电脑' then
        begin
          iPos:=j;
          break;
        end;
    end;
    ShowVL.Items[iPos].DeleteChildren;
    for i:=0 to DrvList.Count-1 do
    begin
      iNode:=ShowVL.Items.AddChild(ShowVL.Items[iPos],DrvList[i]);
      TempStr:=LeftStr(DrvList[i],5);
      Delete(TempStr,1,1);
      if TempStr=':(软盘' then
      begin
         iNode.ImageIndex:=2;
         iNode.SelectedIndex:=2;
      end;
      if TempStr=':(硬盘' then
      begin
         iNode.ImageIndex:=3;
         iNode.SelectedIndex:=3;
      end;
      if TempStr=':(网络' then
      begin
         iNode.ImageIndex:=6;
         iNode.SelectedIndex:=6;
      end;
      if TempStr=':(光盘' then
      begin
         iNode.ImageIndex:=4;
         iNode.SelectedIndex:=4;
      end;
      if TempStr=':(虚拟' then
      begin
         iNode.ImageIndex:=5;
         iNode.SelectedIndex:=5;
      end;
    end;
end;
procedure RemoteProcDiskInfo(TheTV:TTreeView;TheTcp:TidTCPClient);
var
  TheSize,i:integer;
  TheStrStream:TStringStream;
  TheStrlist  :TStringList;
begin
  TheSize:=0;
  Try
     TheStrStream:=TStringStream.Create('');
  except
    exit;
  end;
  Try
     TheStrList:=TStringList.Create;
  except
    TheStrStream.Free;
    exit;
  end;
  Try
    TheSize:=TheTcp.ReadInteger;
    TheTcp.ReadStream(TheStrStream,TheSize);
  except
    TheStrStream.Free;
    TheStrList.Free;
    exit;
  end;
  TheStrList.Text:=TheStrStream.DataString;
  ShowRemoteDrives(TheTV,TheStrList);
//============================================================
  TheStrStream.Free;
  TheStrList.Free;
end;
end.

⌨️ 快捷键说明

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