本实例演示如何映射和断开网络虚拟盘
向窗体上添加两个TLabel组件两个TEdit组件和两个TButton组件设计完成的主界面如图所示
图 主界面首先添加连接按钮的响应代码在其中调用WNetAddConnection函数根据用户输入的本地虚拟盘和网络共享目录来映射虚拟盘响应代码如下
procedure TfrmMainbtnConnectClick(Sender: TObject);
var
NetShare :NETRESOURCE;
begin
NetSharedwType := RESOURCETYPE_DISK;
NetSharelpLocalName := PAnsiChar(edtLocalText);
NetSharelpRemoteName := PAnsiChar(edtRemoteText);
NetSharelpProvider :=;
WNetAddConnection(NetShare CONNECT_UPDATE_PROFILE);
end;
然后添加断开按钮的响应代码在其中调用WNetCancelConnection函数断开用户输入的本地虚拟盘响应代码如下
procedure TfrmMainbtnDisconnectClick(Sender: TObject);
var
strLocalName : PChar;
begin
strLocalName:=PAnsiChar(edtLocalText);
WNetCancelConnection(strLocalNameCONNECT_UPDATE_PROFILEFalse);
end;
程序代码如下
unit Unit;
interface
uses
Windows Messages SysUtils Variants Classes Graphics Controls Forms
Dialogs StdCtrls;
type
TfrmMain = class(TForm)
btnConnect: TButton;
btnDisconnect: TButton;
edtLocal: TEdit;
Label: TLabel;
Label: 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 TfrmMainbtnConnectClick(Sender: TObject);
var
NetShare :NETRESOURCE;
begin
NetSharedwType := RESOURCETYPE_DISK;
NetSharelpLocalName := PAnsiChar(edtLocalText);
NetSharelpRemoteName := PAnsiChar(edtRemoteText);
NetSharelpProvider :=;
WNetAddConnection(NetShare CONNECT_UPDATE_PROFILE);
end;
procedure TfrmMainbtnDisconnectClick(Sender: TObject);
var
strLocalName : PChar;
begin
strLocalName:=PAnsiChar(edtLocalText);
WNetCancelConnection(strLocalNameCONNECT_UPDATE_PROFILEFalse);
end;
end
保存文件然后按F键运行程序程序运行的初始画面如图所示
在本地虚拟盘对应的文本框中输入一个有效的本地虚拟盘在网络共享目录对应的文本框中输入一个有效的网络共享目录如图所示
图 程序运行的初始画面
图 输入参数单击连接按钮可以映射虚拟盘单击断开按钮可以断开虚拟盘