VB 网络编程API函数副本.docx
《VB 网络编程API函数副本.docx》由会员分享,可在线阅读,更多相关《VB 网络编程API函数副本.docx(11页珍藏版)》请在冰豆网上搜索。
![VB 网络编程API函数副本.docx](https://file1.bdocx.com/fileroot1/2023-1/4/4421a4c7-4dd9-47cc-bd1f-3b3a2ae09cae/4421a4c7-4dd9-47cc-bd1f-3b3a2ae09cae1.gif)
VB网络编程API函数副本
WNetAddConnection创建同一个网络资源的永久性连接
WNetAddConnection2创建同一个网络资源的连接
WNetAddConnection3创建同一个网络资源的连接
WNetCancelConnection结束一个网络连接
WNetCancelConnection2结束一个网络连接
WNetCloseEnum结束一次枚举操作
WNetConnectionDialog启动一个标准对话框,以便建立同网络资源的连接
WNetDisconnectDialog启动一个标准对话框,以便断开同网络资源的连接
WNetEnumResource枚举网络资源
WNetGetConnection获取本地或已连接的一个资源的网络名称
WNetGetLastError获取网络错误的扩展错误信息
WNetGetUniversalName获取网络中一个文件的远程名称以及/或者UNC(统一命名规范)名称
WNetGetUser获取一个网络资源用以连接的名字
WNetOpenEnum启动对网络资源进行枚举的过程
1.WNetAddConnection
VB声明
DeclareFunctionWNetAddConnectionLib"mpr.dll"Alias"WNetAddConnectionA"(ByVallpszNetPathAsString,ByVallpszPasswordAsString,ByVallpszLocalNameAsString)AsLong
说明
创建同一个网络资源的永久性连接
返回值
Long,零表示成功。
会设置GetLastError。
如GetLastError是ERROR_EXTENDED_ERROR,则可用WNetGetLastError取得额外的错误信息
参数表
参数类型及说明
lpszNetPathString,要连接的网络名
lpszPasswordString,可选的一个密码。
如为vbNullString,表示采用当前用户的默认密码。
如为一个空字串,则不用任何密码
lpszLocalNameString,资源的本地名称。
(例如,F:
和LPT1:
)
2.WNetAddConnection2
VB声明
DeclareFunctionWNetAddConnection2Lib"mpr.dll"Alias"WNetAddConnection2A"(lpNetResourceAsNETRESOURCE,ByVallpPasswordAsString,ByVallpUserNameAsString,ByValdwFlagsAsLong)AsLong
说明
创建同一个网络资源的连接
返回值
Long,零表示成功。
会设置GetLastError。
如GetLastError是ERROR_EXTENDED_ERROR,则可用WNetGetLastError取得额外的错误信息
参数表
参数类型及说明
lpNetResourceNETRESOURCE,在这个结构中设置了下述字段,对要连接的网络资源进行了定义:
dwType,lpLocalName(可为vbNullString),lpRemoteName,lpProvider(设为vbNullString表示用默认提供者)。
该结构的其他所有变量都会被忽略
lpPasswordString,可选的一个密码。
如为vbNullString,表示采用当前用户的默认密码。
如为一个空字串,则不用任何密码
lpUserNameString,用于连接的用户名。
如为vbNullString,表示使用当前用户
dwFlagsLong,设为零;或指定常数CONNECT_UPDATE_PROFILE,表示创建永久性连接
3.WNetAddConnection3
VB声明
DeclareFunctionWNetAddConnection3&Lib"mpr.dll"Alias"WNetAddConnection3A"(ByValhwndAsLong,lpNetResourceAsNETRESOURCE,ByVallpPasswordAsString,ByVallpUserNameAsString,ByValdwFlagsAsLong)
说明
创建同一个网络资源的连接。
这个函数与WNetAddConnection2类似,只是它允许我们为这个函数显示的对话框指定一个物主窗口
返回值
Long,
参数表
参数类型及说明
hwndLong,指定一个窗口句柄,用作本函数创建的对话框的父窗口
lpNetResourceNETRESOURCE,在这个结构中设置了下述字段,对要连接的网络资源进行了定义:
dwType,lpLocalName(可为vbNullString),lpRemoteName,lpProvider(设为vbNullString表示用默认提供者)。
该结构的其他所有变量都会被忽略
lpPasswordString,可选的一个密码。
如为vbNullString,表示采用当前用户的默认密码。
如为一个空字串,则不用任何密码
lpUserNameString,用于连接的用户名。
如为vbNullString,表示使用当前用户
dwFlagsLong,设为零;或指定常数CONNECT_UPDATE_PROFILE,表示创建永久性连接
4.WNetCancelConnection
VB声明
DeclareFunctionWNetCancelConnectionLib"mpr.dll"Alias"WNetCancelConnectionA"(ByVallpszNameAsString,ByValbForceAsLong)AsLong
说明
结束一个网络连接
返回值
Long,零表示成功。
会设置GetLastError。
如GetLastError是ERROR_EXTENDED_ERROR,则可用WNetGetLastError取得额外的错误信息
参数表
参数类型及说明
lpszNameString,已连接资源的远程名称或本地名称
bForceLong,如为TRUE,表示断开连接(即使连接的资源上正有打开的文件或作业)
5.WNetCancelConnection2
VB声明
DeclareFunctionWNetCancelConnection2Lib"mpr.dll"Alias"WNetCancelConnection2A"(ByVallpNameAsString,ByValdwFlagsAsLong,ByValfForceAsLong)AsLong
说明
结束一个网络连接
返回值
Long,零表示成功。
会设置GetLastError。
如GetLastError是ERROR_EXTENDED_ERROR,则可用WNetGetLastError取得额外的错误信息
参数表
参数类型及说明
lpszNameString,已连接资源的远程名称或本地名称
dwFlagsLong,设为零或CONNECT_UPDATE_PROFILE。
如为零,而且建立的是永久性连接,则在windows下次重新启动时仍会重新连接
fForceLong,如为TRUE,表示强制断开连接(即使连接的资源上正有打开的文件或作业)
6.WNetCloseEnum
VB声明
DeclareFunctionWNetCloseEnumLib"mpr.dll"Alias"WNetCloseEnum"(ByValhEnumAsLong)AsLong
说明
结束一次枚举操作
返回值
Long,零表示成功。
会设置GetLastError。
如GetLastError是ERROR_EXTENDED_ERROR,则可用WNetGetLastError取得额外的错误信息
参数表
参数类型及说明
hEnumLong,由WNetOpenEnum函数返回的一个枚举句柄
7.WNetConnectionDialog
VB声明
DeclareFunctionWNetConnectionDialogLib"mpr.dll"Alias"WNetConnectionDialog"(ByValhwndAsLong,ByValdwTypeAsLong)AsLong
说明
启动一个标准对话框,以便建立同网络资源的连接
返回值
Long,零表示成功。
如用户取消了操作,则返回-1。
会设置GetLastError。
如GetLastError是ERROR_EXTENDED_ERROR,则可用WNetGetLastError取得额外的错误信息
参数表
参数类型及说明
hwndLong,指定要成为对话框父窗口的一个窗口的句柄
dwTypeLong,设成RESOURCETYPE_DISK,浏览磁盘资源
8.WNetDisconnectDialog
VB声明
DeclareFunctionWNetDisconnectDialogLib"mpr.dll"Alias"WNetDisconnectDialog"(ByValhwndAsLong,ByValdwTypeAsLong)AsLong
说明
启动一个标准对话框,以便断开同网络资源的连接
返回值
Long,零表示成功。
如用户取消了操作,则返回-1。
会设置GetLastError。
如GetLastError是ERROR_EXTENDED_ERROR,则可用WNetGetLastError取得额外的错误信息
参数表
参数类型及说明
hwndLong,指定要成为对话框父窗口的一个窗口的句柄
dwTypeLong,设成RESOURCETYPE_DISK或RESOURCETYPE_PRINT,决定要断开的是磁盘还是打印机资源
9.WNetEnumResource
VB声明
DeclareFunctionWNetEnumResourceLib"mpr.dll"Alias"WNetEnumResourceA"(ByValhEnumAsLong,lpcCountAsLong,lpBufferAsAny,lpBufferSizeAsLong)AsLong
说明
枚举网络资源
返回值
Long,零表示成功。
ERROR_NO_MORE_ITEMS表示不剩下可以枚举的条目。
ERROR_MORE_DATA表示条目不能装入lpBuffer。
会设置GetLastError。
如GetLastError是ERROR_EXTENDED_ERROR,则可用WNetGetLastError取得额外的错误信息
参数表
参数类型及说明
hEnumLong,从WNetOpenEnum函数返回的一个句柄
lpcCountLong,最初设为要枚举的最大资源数量;或设为-1,表示枚举尽可能多的资源。
一旦返回,就会设为实际枚举的资源数量
lpBufferAny,通常是一个字节缓冲区的首字节。
该缓冲区装载了枚举信息(可按引用声明为Byte)
lpBufferSizeLong,以字节为单位指定lpBuffer数组的长度。
如缓冲区不够大,则设为需要的缓冲区长度
注解
枚举网络条目时,最好用vb一次枚举一个资源。
尽量不要使用这个函数同时枚举许多网络资源的功能
10.WNetGetConnection
VB声明
DeclareFunctionWNetGetConnectionLib"mpr.dll"Alias"WNetGetConnectionA"(ByVallpszLocalNameAsString,ByVallpszRemoteNameAsString,cbRemoteNameAsLong)AsLong
说明
获取本地或已连接的一个资源的网络名称
返回值
Long,零表示成功。
会设置GetLastError。
如GetLastError是ERROR_EXTENDED_ERROR,则可用WNetGetLastError取得额外的错误信息
参数表
参数类型及说明
lpszLocalNameString,本地设备的名字
lpszRemoteNameString,指定一个字串缓冲区,用于装载设备的资源名称
cbRemoteNameLong,lpszRemoteName缓冲区的字符数量。
如缓冲区不够大,则设为需要的缓冲区长度
11.WNetGetLastError
VB声明
DeclareFunctionWNetGetLastErrorLib"mpr.dll"Alias"WNetGetLastErrorA"(lpErrorAsLong,ByVallpErrorBufAsString,ByValnErrorBufSizeAsLong,ByVallpNameBufAsString,ByValnNameBufSizeAsLong)AsLong
说明
获取网络错误的扩展错误信息
返回值
Long,零表示成功。
ERROR_INVALID_ADDRESS表示缓冲区无效
参数表
参数类型及说明
lpErrorLong,指定一个变量,用于装载网络错误代码。
具体的代码由网络供应商决定
lpErrorBufString,指定一个字串缓冲区,用于装载网络错误的说明
nErrorBufSizeLong,lpErrorBuf缓冲区包含的字符数量
lpNameBufString,用于装载网络供应商名字的字串缓冲区
nNameBufSizeLong,lpNameBuf缓冲区的字符数量
12.WNetGetUniversalName
VB声明
DeclareFunctionWNetGetUniversalNameLib"mpr"Alias"WNetGetUniversalNameA"(ByVallpLocalPathAsString,ByValdwInfoLevelAsLong,lpBufferAsAny,lpBufferSizeAsLong)AsLong
说明
获取网络中一个文件的远程名称以及/或者UNC(统一命名规范)名称。
例如,假设一个已连接的远程驱动器是\\othersystem\CDrive,它对应的本地驱动器是F:
,而且在它的子目录temp中包含了文件xyz.doc。
那么运算结果如下:
LocalPathxyz.doc或f:
\temp\xyz.doc(或者文件的任何相对路径名)
UNC名称:
\\othersystem\CDrive\temp\xyz.doc
连接名称:
\\othersystem\CDrive
剩余名称:
\temp\xyz.doc
它们分别对应于由这个函数装载的REMOTE_NAME_INFO结构的字段,对该结构的定义如下:
TypeREMOTE_NAME_INFO
pUniversalNameAsLong
pConnectionNameAsLong
pRemainingPathAsLong
EndType
返回值
Long,零表示成功。
会设置GetLastError。
如GetLastError是ERROR_EXTENDED_ERROR,则可用WNetGetLastError取得额外的错误信息
参数表
参数类型及说明
lpLocalPathString,磁盘文件的名字
dwInfoLevelLong,下述常数之一:
UNIVERSAL_NAME_INFO_LEVEL只设置pUniversalName字段
REMOTE_NAME_INFO_LEVEL设置REMOTE_NAME_INFO结构中的所有三个字段
lpBufferAny,指定用于装载UNC信息的一个缓冲区。
缓冲区起点与一个REMOTE_NAME_INFO结构对应
lpBufferSizeLong,以字节为单位指定lpBuffer缓冲区的长度。
如缓冲区不够大,则设为需要的缓冲区长度
13.WNetGetUser
VB声明
DeclareFunctionWNetGetUserLib"mpr.dll"Alias"WNetGetUserA"(ByVallpNameAsString,ByVallpUserNameAsString,lpnLengthAsLong)AsLong
说明
获取一个网络资源用以连接的名字
返回值
Long,零表示成功。
会设置GetLastError。
如GetLastError是ERROR_EXTENDED_ERROR,则可用WNetGetLastError取得额外的错误信息
参数表
参数类型及说明
lpNameString,指定已连接资源的远程名称或本地名称。
用vbNullString获取当前用户的名字
lpUserNameString,用于装载用户名的一个字串缓冲区
lpnLengthLong,lpUserName缓冲区的长度。
如缓冲区不够大,则自动设为需要的缓冲区长度
14.WNetOpenEnum
VB声明
DeclareFunctionWNetOpenEnumLib"mpr.dll"Alias"WNetOpenEnumA"(ByValdwScopeAsLong,ByValdwTypeAsLong,ByValdwUsageAsLong,lpNetResourceAsNETRESOURCE,lphEnumAsLong)AsLong
说明
启动对网络资源进行枚举的过程。
这个函数会返回由WNetEnumResource函数用于枚举资源所用的一个句柄
返回值
Long,零表示成功。
会设置GetLastError。
如GetLastError是ERROR_EXTENDED_ERROR,则可用WNetGetLastError取得额外的错误信息
参数表
参数类型及说明
dwScopeLong,指定要枚举的资源范围。
可设为下述常数之一:
RESOURCE_CONNECTED枚举已连接的资源(忽略dwUsage)
RESOURCE_GLOBALNET枚举所有资源
RESOURCE_REMEMBERED只枚举永久性连接
dwTypeLong,下述常数之一
RESOURCE_ANY枚举所有类型的网络资源
RESOURCE_DISK枚举磁盘资源
RESOURCE_PRINT枚举打印资源
dwUsageLong,可设为零,表示枚举所有资源;或设为下述常数的一个或两个:
RESOURCEUSAGE_CONNECTABLE只枚举那些能够连接的资源
RESOURCEUSAGE_CONTAINER只枚举包含了其他资源的资源
lpNetResourceNETRESOURCE,这个结构指定了一个容器资源。
该函数会枚举包含于这里指定的某个指定资源内的资源。
如设为NULL(把声明变成ByValAsLong),那么函数会枚举顶级网络资源。
倘若在dwScope参数里没有指定RESOURCE_GLOBALNET,那么必须为NULL
lphEnumLong,指定一个变量,用于装载一个枚举句柄。
该句柄由WNetEnumResource函数使用。
必须用WNetCloseEnum函数将其清除
vb怎样访问网络服务器的access数据库
2004-12-3009:
181307人阅读评论
(1)收藏举报
'=============================自定义常量========================================
PrivateConstRESOURCETYPE_DISK=&H1
PrivateConstRESOURCE_GLOBALNETAsLong=&H2
PrivateConstRESOURCEDISPLAYTYPE_SHARE=&H3
PrivateConstRESOURCEUSAGE_CONNECTABLE=&H1
'=============================自定义结构========================================
PrivateTypeNETRESOURCE
dwScopeAsLong
dwTypeAsLong'用于指定网络的资源类型
dwDisplayTypeAsLong
dwUsageAsLong
lpLocalNameAsString'指定本地设备
lpRemoteNameAsString'指定远程网络名
lpCommentAsString
lpProviderAsString'指定提供网络资源的供应商
EndType
'=================================API声明=======================================
PrivateDeclareFunctionWNetAddConnection2Lib"mpr.dll"Alias"WNetAddConnection2A"(_
lpNetResourceAsNETRESOURCE,_
ByVallpPasswordAsString,_
ByVallpUserNameAsString,_
ByValdwFlagsAsLong_
)AsLong
PrivateDeclareFunctionWNetCancelConnection2Lib"mpr.dll"Alias"WNetCancelConnection2A"(_
ByVallpNameAsString,_
ByValdwFlagsAsLong,_
ByValfForceAsLong_
)AsLong
PublicFunctionfunIpcConn(ByValstrRemoteNameAsString,ByValstrUserNameAsString,ByValstrPasswordAsString)AsBoolean
'目的:
建立网络间的联系
'返回:
True----成功
'False---失败
'注释:
strRemoteName为要连接的计算机名称(如:
//HostName、//192.168.199.144、//HostName