灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:4460回复:0

用Delphi实现虚拟盘映射

楼主#
更多 发布于:2012-09-08 13:06




相关下载:DelphiV7.0


  本实例演示如何映射和断开网络虚拟盘。
  向窗体上添加两个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所示。



51_3710_6e4d21c2ad336df.jpg[删除]
图2 程序运行的初始画面

51_3710_5c069f38ecd72e9.jpg[删除]
图3 输入参数
单击“连接”按钮可以映射虚拟盘,单击“断开”按钮可以断开虚拟盘。



喜欢0 评分0
游客

返回顶部