用Delphi實(shí)現(xiàn)虛擬盤映射

字號(hào):

首先添加“連接”按鈕的響應(yīng)代碼,在其中調(diào)用WNetAddConnection2函數(shù),根據(jù)用戶輸入的本地虛擬盤和網(wǎng)絡(luò)共享目錄來映射虛擬盤,響應(yīng)代碼如下:
    procedure TfrmMain.btnConnectClick(Sender: TObject);
    var
    NetShare :NETRESOURCE;
    begin
    NetShare.dwType := RESOURCETYPE_DISK;
    NetShare.lpLocalName := PAnsiChar(edtLocal.Text);
    NetShare.lpRemoteName := PAnsiChar(edtRemote.Text);
    NetShare.lpProvider :=’’;
    WNetAddConnection2(NetShare, ’’, ’’, CONNECT_UPDATE_PROFILE);
    end;
    然后添加“斷開”按鈕的響應(yīng)代碼,在其中調(diào)用WNetCancelConnection2函數(shù)斷開用戶輸入的本地虛擬盤,響應(yīng)代碼如下:
    procedure TfrmMain.btnDisconnectClick(Sender: TObject);
    var
    strLocalName : PChar;
    begin
    strLocalName:=PAnsiChar(edtLocal.Text);
    WNetCancelConnection2(strLocalName,CONNECT_UPDATE_PROFILE,False);
    end;
    程序代碼如下:
    unit Unit1;
    interface
    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls;
    type
    TfrmMain = class(TForm)
    btnConnect: TButton;
    btnDisconnect: TButton;
    edtLocal: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    edtRemote: TEdit;
    procedure btnConnectClick(Sender: TObject);
    procedure btnDisconnectClick(Sender: TObject);
    private
    { Private declarations }
    public
    { Public declarations }
    end;
    var
    frmMain: TfrmMain;
    implementation
    {$R *.dfm}
    procedure TfrmMain.btnConnectClick(Sender: TObject);
    var
    NetShare :NETRESOURCE;
    begin
    NetShare.dwType := RESOURCETYPE_DISK;
    NetShare.lpLocalName := PAnsiChar(edtLocal.Text);
    NetShare.lpRemoteName := PAnsiChar(edtRemote.Text);
    NetShare.lpProvider :=’’;
    WNetAddConnection2(NetShare, ’’, ’’, CONNECT_UPDATE_PROFILE);
    end;
    procedure TfrmMain.btnDisconnectClick(Sender: TObject);
    var
    strLocalName : PChar;
    begin
    strLocalName:=PAnsiChar(edtLocal.Text);
    WNetCancelConnection2(strLocalName,CONNECT_UPDATE_PROFILE,False);
    end;
    end.
    保存文件,然后按F9鍵運(yùn)行程序