如何将TdirectoryListBox中的任意选择的目录设为共享目录(程序实现)

解决方案 »

  1.   

    给分吧,测试通过的,给你原码
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
      ExtCtrls,Dialogs, StdCtrls, FileCtrl,shellapi;type
      TForm1 = class(TForm)
        Label1: TLabel;
        Edit1: TEdit;
        Label2: TLabel;
        Edit2: TEdit;
        Button2: TButton;
        Button3: TButton;
        DriveComboBox1: TDriveComboBox;
        DirectoryListBox1: TDirectoryListBox;
        memo1: TMemo;
        procedure DriveComboBox1Change(Sender: TObject);
        procedure FormCreate(Sender: TObject);
        procedure DirectoryListBox1Change(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure Edit1Change(Sender: TObject);
        procedure Button3Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.DriveComboBox1Change(Sender: TObject);
    begin
     Form1.DirectoryListBox1.drive:=Form1.DriveComboBox1.drive;
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
    edit1.Text:=directorylistbox1.Directory;
    edit2.Text:=ExtractfileName(edit1.Text);
    end;procedure TForm1.DirectoryListBox1Change(Sender: TObject);
    begin
    edit1.Text:=DirectoryListBox1.Directory;
    end;procedure TForm1.Button2Click(Sender: TObject);
    var
     str:string;
    begin
    if DirectoryExists(Edit1.text) then
      begin
        if edit2.text='' then
          begin
           showmessage('请指定共享名!');
           exit;
          end;
         str:='command.com /C net share '+edit2.text+'='+edit1.text;
         str:=str+' /UNLIMITED';
         str:=str+'/REMARK:'+'共享文件夹';
         str:=str+' /CACHE:Automatic';
         end;   if winexec(pchar(str),sw_hide)>31 then
        memo1.lines.add(edit1.text+'共享成功!')
        else
         memo1.lines.add(edit1.text+'共享失败!');
      end;
    procedure TForm1.Edit1Change(Sender: TObject);
    begin
      edit2.text:=ExtractfileName(edit1.text);
    end;procedure TForm1.Button3Click(Sender: TObject);
      var str:string;
    begin
      if DirectoryExists(Edit1.Text) then
    begin
      if edit2.text='' then
    begin
      showmessage('请指定要取消的共享名');
      exit;
    end;
    str:='command.com /C net share '+edit2.text+'/delete';
    if winexec(pchar(str),sw_hide)>31 then
    memo1.lines.add(edit1.Text+'共享取消')
    else
    memo1.Lines.Add(edit1.Text+'取消共享失败');
    end;
    end;
    end.