Compartir un carpeta en VB6

Disculpen he logrado que una aplicacion cree una carpeta dentro de una ruta determinada lo que ocurre es que ahora necesito que despues de crearla sea compartida si alguien me puede ayudar se lo agradecere.

1 Respuesta

Respuesta
1
Necesitas utilizar el API "NetShareAdd".
Aca te pongo un ejemplo:
Espero te sirva. Suerte.
Option Explicit
Private Const NERR_SUCCESS As Long = 0&
'tipos compartidos
Private Const STYPE_ALL As Long = -1 'note: my const
Private Const STYPE_DISKTREE As Long = 0
Private Const STYPE_PRINTQ As Long = 1
Private Const STYPE_DEVICE As Long = 2
Private Const STYPE_IPC As Long = 3
Private Const STYPE_SPECIAL As Long = &H80000000
'permisos
Private Const ACCESS_READ As Long = &H1
Private Const ACCESS_WRITE As Long = &H2
Private Const ACCESS_CREATE As Long = &H4
Private Const ACCESS_EXEC As Long = &H8
Private Const ACCESS_DELETE As Long = &H10
Private Const ACCESS_ATRIB As Long = &H20
Private Const ACCESS_PERM As Long = &H40
Private Const ACCESS_ALL As Long = ACCESS_READ Or _
ACCESS_WRITE Or _
ACCESS_CREATE Or _
ACCESS_EXEC Or _
ACCESS_DELETE Or _
ACCESS_ATRIB Or _
ACCESS_PERM
Private Type SHARE_INFO_2
shi2_netname As Long
shi2_type As Long
shi2_remark As Long
shi2_permissions As Long
shi2_max_uses As Long
shi2_current_uses As Long
shi2_path As Long
shi2_passwd As Long
End Type
Private Declare Function NetShareAdd Lib "netapi32" _
(ByVal servername As Long, _
ByVal level As Long, _
buf As Any, _
parmerr As Long) As Long
Private Sub Form_Load()
Text1.Text = "\\" & Environ$("COMPUTERNAME")
Text2.Text = "C:\Documents and Settings\JarpSoft\Escritorio\Demo"
Text3.Text = "Archivos"
Text4.Text = "Demo de Carpeta Compartida"
Text5.Text = ""
End Sub
Private Sub Command1_Click()
Dim success As Long
success = ShareAdd(Text1.Text, _
Text2.Text, _
Text3.Text, _
Text4.Text, _
Text5.Text)
Select Case success
Case 0: MsgBox "Recurso Compartido Exitosamente!"
Case 2118: MsgBox "Ya existe Recurso Compartido"
Case Else: MsgBox "Error de creación " & success
End Select
End Sub
Private Function ShareAdd(sServer As String, _
sSharePath As String, _
sShareName As String, _
sShareRemark As String, _
sSharePw As String) As Long
Dim dwServer As Long
Dim dwNetname As Long
Dim dwPath As Long
Dim dwRemark As Long
Dim dwPw As Long
Dim parmerr As Long
Dim si2 As SHARE_INFO_2
'Obtiene los punteros del servidor
dwServer = StrPtr(sServer)
dwNetname = StrPtr(sShareName)
dwPath = StrPtr(sSharePath)
If Len(sShareRemark) > 0 Then
dwRemark = StrPtr(sShareRemark)
End If
If Len(sSharePw) > 0 Then
dwPw = StrPtr(sSharePw)
End If
'Estructura SHARE_INFO_2
With si2
.shi2_netname = dwNetname
.shi2_path = dwPath
.shi2_remark = dwRemark
.shi2_type = STYPE_DISKTREE
.shi2_permissions = ACCESS_ALL
.shi2_max_uses = -1
.shi2_passwd = dwPw
End With
'Añadir recurso
ShareAdd = NetShareAdd(dwServer, _
2, _
si2, _
parmerr)
End Function

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas