在VFP5中映射网络驱动器
WNetAddConnection()建立网络映射;
WNetCancelConnection()断开网络映射。
下面分别对上述两个函数进行说明。
WNetAddConnection()用来建立网络映射,它包含3个参数:
LpszNetPath:字符串,要映射的网络路径名和共享名,如:“\\remotehost\sharedrv”;
LpszPassword:字符串。共享资源的口令,由服务器端提供;
LpszLocalName:字符串,即映射到本地的驱动器盘符,如:“F:”、“G:”。
返回值:
WN_SUCCESS=0&&成功
WN_NOT_SUPPORTED=50&&函数不被支持
WIN_OUT_OF_MEMORY=8&&系统内存不足
WN_NET_ERROR=59&&网络发生错误
WN_BAD_POINTER=487&&无效指针
WN_BAD_NETNAME=67&&无效网络名
WN_BAD_LOCALNAME=1200&&无效本地名
WN_BAD_PASSWORD=86&&无效口令
WN_ACCESS_DENIED=5&&访问被拒绝
WN_ALREADY_CONNECTED=85&&此连接已经建立(重复建立)
WNetCancelConnection()用来断开网络映射,它包含2个参数;
LpszName:字符串,需断开的驱动器盘符。
bForce:逻辑型,用LOGN数据类型表达。是否强行断开。
返回值:
WN_SUCCESS=0&&成功
WN_NOT_SUPPORTED=50&&函数不被支持
WN_OUT_OF_MEMORY=8&&系统内存不足
WN_NET_ERROR=59&&网络发生错误
WN_BAD_POINTER=487&&无效指针
WN_BAD_VALUE=87&&网络名LpszName无效
WN_NOT_CONNECTED=2250&&无须断开的连接
WN_OPEN_FILES=2401&&需断开的连接中有打开的文件,则参数bForce被设为False。
假设NT服务器ser_host中有一共享目录,(名为drive1)利用将服务器上的共享目录映射到本地(Win95/98),然后将本机器根目录下的config.sys文件传送到此目录下,断开连接。其中还用到一个拷贝文件的API函数:
CopyFile(lpExistingFileName,lpNewFileName,bFailIfExists)
参数含义为:
lpExistingFileName(字符串),源文件名;
lpNewFileName(字符串),目标文件名;
bFailIfExists(逻辑型),如果目标文件已存在,是否返回错误信息;
此函数返回0表示复制失败,1表示复制成功,源程序如下:
FileName:Connect.prg
Func:Remote File Copy
set talk off
set esca off
Declare Long WNetAddConnection in ″mpr.dll″String lpszNetPath,String lpszPassword,String lpszLocalName &&声明API函数
WNetAddCommection
Declare Long WNetCancelConnection in″mpr.dll″ String lpszName,Long bForce &&声明API函数WNetCancelConnection
Declare Long CopyFile in ″kernel32″ String lpExistingFileName,String lpNewFileName,Long bFailIfExists &&声明API函数CopyFile
messagebox(str(WNetAddConnection(′xjserver\bak′,′g:′))) &&建立连接
messagebox(str(CopyFile)(″c:\config.sys″,″g:\config.sys″,1))) &&拷贝文件,如果目录文件存在,则覆盖。
messagebox(str(WNetCancelConnection(′g:′,1))) &&断开连接
set esca on
End Connect.prg
程序中利用messagebox函数显示返回信息。