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

📄 unit2.pas

📁 多线程应用
💻 PAS
字号:
unit Unit2;

interface

uses
  Classes,Windows,Messages,SysUtils, Graphics, Controls,unit1;

type
  TSearchFileThread = class(TThread)
  private
    { Private declarations } 
    s:string;
    procedure AddFile;
  protected
    procedure Execute; override;
  end;

implementation


procedure TSearchFileThread.AddFile;
begin
  Form1.ListBox1.Items.Add(s);
end;


procedure TSearchFileThread.Execute;
Var
  EnumHandle                : THandle;
  FileRS                     : TNetResource;
  Buf                       : Array[1..500] of TNetResource;
  BufSize                   : DWord;
  Entries                   : DWord;
  Result                    : Integer;
begin
  mydir := mydir + #0;//mydir为工作组名时可以得到组内所有主机名
                      //mydir为主机名时可以得到机内所有共享文件夹名
  FillChar(FileRS, SizeOf(FileRS) , 0);
  With FileRS do begin
    dwScope := 2;
    dwType := 3;
    dwDisplayType := 1;
    dwUsage := 2;
    lpRemoteName := @mydir[1];
  end;
  WNetOpenEnum( RESOURCE_GLOBALNET,
                RESOURCETYPE_ANY,
                0,
                @FileRS,
                EnumHandle );
  Repeat
    Entries := 1;
    BufSize := SizeOf(Buf);
   Result := WNetEnumResource( EnumHandle,Entries,@Buf,BufSize );
   If (Result = NO_ERROR) and (Entries = 1) then 
   begin
      s:= StrPas(Buf[1].lpRemoteName); //得到网上资源名,主机或文件夹
      Synchronize(AddFile); //Form1.ListBox1.Items.Add(s);
    end ; 
  Until (Entries <> 1) or (Result <> NO_ERROR);
  WNetCloseEnum( EnumHandle );
end;

end.
 

⌨️ 快捷键说明

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