首先添加“連接”按鈕的響應(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)行程序
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)行程序