用Delphi实现虚拟盘映射

开发者在线 Builder.com.cn 更新时间:2007-10-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 输入参数

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

查看本文来源

用户评论

  • 用户名
  • 评论内容