为调用此函数必须填写
lpNetResouce结构,此结构的定义为:
typedef struct _NETRESOUCE{
DWORD dwScope;
DWORD dwType;
DWORD dwDisplayType;
DWORD dwUsage;
LPTSTR lpLocalName;
LPTSR lpRemoteName;
LPTSr lpProvider;
} NETRESOURCE;
lpNetResouce结构,此结构的定义为:
typedef struct _NETRESOUCE{
DWORD dwScope;
DWORD dwType;
DWORD dwDisplayType;
DWORD dwUsage;
LPTSTR lpLocalName;
LPTSR lpRemoteName;
LPTSr lpProvider;
} NETRESOURCE;
LPNETRESOURCE lpNetResource,
lpNetResource是参数名,前面才是类型。
这个结构在windows单元有定义。
(上面是api调用)
要运行下面代码还需要申明什么?
procedure TForm1.Button1Click
(Sender : TObject);
var
NetSource : TNetResource;
begin
with NetSource do
begin
dwType := RESOURCETYPE_ANY;
lpLocalName := X:;
// 将远程资源映射到此驱动器
lpRemoteName := \hqServersys;
// 远程网络资源
lpProvider := ; // 必须赋值,
如为空则使用lpRemoteName的值。
end;
WnetAddConnection2(NetSource, Password, Guest,
//用户名为Guest,口令为Password
CONNECT_UPDATE_PROFILE);
//下次登录时重新连接
//此时在Windows资源管理器中可看到网络驱动器X:
if MessageDlg(Are you sure to disconnect Drive ?,
mtConfirmation, [mbYes, mbNo], 0) = mrYes then
//不管是否有文件打开,断开网络驱动器X:
WNetCancelConnection2
( X:, CONNECT_UPDATE_PROFILE, True);
end;
end;