用Delphi实现虚拟盘映射

http://tech.ddvip.com   2006年07月31日    社区交流

本文详细介绍用Delphi实现虚拟盘映射

  本实例演示如何映射和断开网络虚拟盘。

  向窗体上添加两个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 输入参数

  单击“连接”按钮可以映射虚拟盘,单击“断开”按钮可以断开虚拟盘。

责编:豆豆技术应用

正在加载评论...