本實例演示如何映射和斷開網絡虛擬盤。
向窗體上添加兩個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 輸入參數
單擊“連接”按鈕可以映射虛擬盤,單擊“斷開”按鈕可以斷開虛擬盤。