使用 VB 6.0 在局域网中共享资源






2.18/5 (6投票s)
2004年4月16日
1分钟阅读

49134

781
如何使用 VB 6.0 在网络中共享文件夹
引言
在我的局域网中,经常出现设备关机,而其他设备却映射了它的文件夹的情况。Windows 会显示一个警告窗口,告知资源当前不可用,并且操作员可以选择不再使用不可用的资源。
每个用户登录时,都会执行一个脚本来调整系统并进行必要的更新。因此,我选择不显示任何类型的窗口,而是直接忽略错误提示。
我的实际情况
有一个服务驻留在所有设备上,它会定期检查文件更新。当用户登录时,其他设备会收到通知(类似于 MSN Messenger)。个人电脑会查找与该用户关联的事件并执行。
常见事件
最常见的事件包括:
- 映射资源,
- 发布文件,
- 警告,
解决方案
我使用 VB 应用程序来操作系统。因此,我开发了一个小类来映射资源。
示例
我的报告以 PDF 格式打印并在浏览器中发布。然后
Sub MapReportFolder()
Dim Net As New clsNetworkClient
Dim Ret As Long
Ret = Net.Connect("R:", "\\ESRVD048829A03\REPORT", Net.ComputerName, "")
If Not Ret = 0 Then
Call LogEvent (date, time, WnetError(Ret))
End If
End Sub
错误处理
可以测试返回值并向用户显示消息
Private Const ERROR_SUCCESS As Integer = 0 Private Const WN_Success As Long = &H0 Private Const WN_Not_Supported As Long = &H1 Private Const WN_Net_Error As Long = &H2 Private Const WN_Bad_Pointer As Long = &H4 Private Const WN_Bad_NetName As Long = &H32 Private Const WN_Bad_Password As Long = &H6 Private Const WN_Bad_Localname As Long = &H33 Private Const WN_Access_Denied As Long = &H7 Private Const WN_Out_Of_Memory As Long = &HB Private Const WN_Already_Connected As Long = &H34 Private Function WnetError(ByVal Errcode As Long) As String Select Case Errcode Case WN_Not_Supported WnetError = "Function is Not supported." Case WN_Out_Of_Memory WnetError = "Out of Memory." Case WN_Net_Error WnetError = "An error occurred On the network." Case WN_Bad_Pointer WnetError = "The Pointer was Invalid." Case WN_Bad_NetName WnetError = "Invalid Network Resource Name." Case WN_Bad_Password WnetError = "The Password was Invalid." Case WN_Bad_Localname WnetError = "The local device name was invalid." Case WN_Access_Denied WnetError = "A security violation occurred." Case WN_Already_Connected WnetError = "The local device was connected To a remote resource." Case Else WnetError = "Unrecognized Error " + Str(Errcode) + "." End Select End Function
感谢
我衷心感谢我的朋友 Wilsimar Araújo,一位出色的设计师。