Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    562

    [VB.NET] Condividere una cartella in rete

    salve,
    come scritto nel titolo volevo condividere una cartella in rete ed ho trovato solo questo codice:

    Imports System.Runtime.InteropServices

    Declare Unicode Function NetShareAdd Lib "netapi32.dll" ( _
    <MarshalAs(UnmanagedType.LPWStr)> _
    ByVal servername As String, _
    ByVal level As Integer, _
    ByRef buf As SHARE_INFO_2, _
    ByRef parm_err As Integer) As Integer

    'Definizione di errore.
    Public Enum NetError
    NERR_Success = 0
    ERROR_ACCESS_DENIED = 5
    ERROR_INVALID_PARAMETER = 87
    ERROR_INVALID_NAME = 123
    ERROR_INVALID_LEVEL = 124
    NERR_BASE = 2100
    NERR_UnknownDevDir = (NERR_BASE + 16)
    NERR_RedirectedPath = (NERR_BASE + 17)
    NERR_DuplicateShare = (NERR_BASE + 18)
    NERR_BufTooSmall = (NERR_BASE + 23)
    End Enum


    ' definizione di condivisione
    Public Enum ShareType
    ' Disk Share
    Disk = 0
    ' Printer Share
    Printer = 1
    ' Device Share
    Device = 2
    ' IPC Share
    IPC = 3
    '>Special Share
    Special = &H80000000
    End Enum


    'Informazioni relativa ai permessi
    Public Enum SharePermissions
    ACCESS_NONE = 0
    ACCESS_READ = 1
    ACCESS_WRITE = 2
    ACCESS_CREATE = 4
    ACCESS_EXEC = 8
    ACCESS_DELETE = &H10
    ACCESS_ATRIB = &H20
    ACCESS_PERM = &H40
    ACCESS_ALL = ACCESS_READ + _
    ACCESS_WRITE + _
    ACCESS_CREATE + _
    ACCESS_EXEC + _
    ACCESS_DELETE + _
    ACCESS_ATRIB + _
    ACCESS_PERM
    ACCESS_GROUP = &H8000
    End Enum



    <StructLayout(LayoutKind.Sequential)> _
    Public Structure SHARE_INFO_2
    <MarshalAs(UnmanagedType.LPWStr)> _
    Public shi2_netname As String
    <MarshalAs(UnmanagedType.U4)> _
    Public shi2_type As ShareType
    <MarshalAs(UnmanagedType.LPWStr)> _
    Public shi2_remark As String
    <MarshalAs(UnmanagedType.U4)> _
    Public shi2_permissions As SharePermissions
    <MarshalAs(UnmanagedType.U4)> _
    Public shi2_max_uses As Integer
    <MarshalAs(UnmanagedType.U4)> _
    Public shi2_current_uses As Integer
    <MarshalAs(UnmanagedType.LPWStr)> _
    Public shi2_path As String
    <MarshalAs(UnmanagedType.LPWStr)> _
    Public shi2_passwd As String



    End Structure


    e nel button:

    Dim shi2 As SHARE_INFO_2

    'Valorizzo la struttura relativa ai parametri di condivisione
    shi2.shi2_netname = "Condiddddda" 'Nome della condivisione
    shi2.shi2_type = ShareType.Disk
    shi2.shi2_remark = "" ' commenti
    shi2.shi2_permissions = SharePermissions.ACCESS_NONE
    shi2.shi2_max_uses = -1 'Utenti
    shi2.shi2_current_uses = 0
    shi2.shi2_path = "C:\test" 'Percorso e nome della Cartella da condividere
    shi2.shi2_passwd = Nothing 'Password
    Dim risultato As Integer
    'primo parametro nome pc ritorna un intero, 0 creata, altrimenti non creata
    risultato = NetShareAdd("Andrea", 2, shi2, Nothing)
    'Visualizzo un messaggio a video
    If risultato = NetError.NERR_Success Then
    MessageBox.Show("Creata")
    ElseIf risultato = NetError.NERR_DuplicateShare Then
    MessageBox.Show("Nome già presente")
    Else
    MessageBox.Show("Errore")
    End If



    però mi da sempre errore, ovviamente ho creato la cartella, ma non so dove sbaglio.

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Io uso sempre un file batch.

    Le istruzioni sotto condividono la cartella locale C:\Test con il nome Test e forniscono l'accesso ad Everyone.
    Crea un file CreaCartella.bat e copiaci tali istruzioni:
    codice:
    @echo off
    NET SHARE Test=C:\Test /UNLIMITED
    CACLS C:\Test /T /E /G everyone:F
    Se vuoi parametrizzarlo, usa questo codice:
    codice:
    @echo off
    NET SHARE %1=%2 /UNLIMITED
    CACLS %2 /T /E /G everyone:F
    poi lo chiami da una shell indicando anche i parametri

    codice:
    CreaCartella.bat <nome_condivisione> <percorso_condiviso>


  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    562
    sembra funzionare, grazie mille per l'aiuto

  4. #4
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da andrew4
    sembra funzionare, grazie mille per l'aiuto
    Prego.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.