在VFP5中映射网络驱动器 潘雷 1999年 第29期 13版   在小型的办公自动化网络中,有时需要在程序中建立网络映射,来实现资源共享、文件传输等功能。VFP5本身并未提供类似函数,但我们可以利用Windows API函数来实现上述功能。Windows API函数中与建立网络映射有关的函数有以下两个:   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函数显示返回信息。