本实例演示如何映射和断开网络虚拟盘。
向窗体上添加两个TLabel组件、两个TEdit组件和两个TButton组件,设计完成的主界面如图1所示。
图1 主界面 |
首先添加“连接”按钮的响应代码,在其中调用WNetAddConnection2函数,根据用户输入的本地虚拟盘和网络共享目录来映射虚拟盘,响应代码如下:
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; |
然后添加“断开”按钮的响应代码,在其中调用WNetCancelConnection2函数断开用户输入的本地虚拟盘,响应代码如下:
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键运行程序,程序运行的初始画面如图2所示。
在“本地虚拟盘”对应的文本框中输入一个有效的本地虚拟盘,在“网络共享目录”对应的文本框中输入一个有效的网络共享目录,如图3所示。
图2 程序运行的初始画面 图3 输入参数 |
单击“连接”按钮可以映射虚拟盘,单击“断开”按钮可以断开虚拟盘。
本文来源:网狐教程 作者:佚名