AccueilCodes sourcesFreewaresArticlesRéponsesRechercheVotre avisNewsMon blogLiensContact
Dimanche 25 Janvier 2026

Valid HTML 4.01 Transitional

126 codes sources48 articles77 news24 Liens15 avis9 réponses.
Comment partager un répertoire ?
// Syntaxe :
//[ <Résultat> = ] PartageRépertoire (<sCheminRépertoire>, <sNomPartage>, <sLibelléPartage>, <sPassword>[, <nDroits>[, <nFlags>[, <nType>]]])
//
// Paramètres :
//        sCheminRépertoire : Chemin du répertoire à supprimer
//        sNomPartage : Le nom du partage à créer
//        sLibelléPartage : Le commentaire du partage
//        sPassword : Mot de passe
//        nDroits : Les droits (PARTAGE_LECTURESEULE, PARTAGE_TOTAL)
//        nFlags : Le partage est persistant ? (PARTAGE_PERSISTANT)
//        nType : Le type de partage PARTAGE_REPERTOIRE
// Valeur de retour :
//         booléen : Vrai  si la création a réussi, faux sinon

PROCEDURE PartageRépertoire(sCheminRépertoire,sNomPartage,sLibelléPartage,sPassword,nDroits = PARTAGE_LECTURESEULE,nFlags = PARTAGE_PERSISTANT,nType = PARTAGE_REPERTOIRE)

sNomDll est une chaîne
nRésultat est un entier
nErreur est un entier


SELON SysVersionWindows()
        CAS
"95","98","ME"
                sNomDll = "svrapi.dll"
                MesInfosPartage98 est un SHARE_INFO_50
                
                // -------------------------------------------
                // RAPPEL DE LA STRUCTURE UTILISEE
                // -------------------------------------------
                
                //SHARE_INFO_50 est une structure
                //        sNomPartage est une chaine ASCIIZ sur 13
                //        nType est un entier sur 2
                //        nFlags est un entier
                //        nAdresseDescription est un entier
                //        nAdresseChemin est un entier
                //        sMotPasseLectureEcriture est une chaine ASCIIZ sur 9
                //        sMotPasseLectureSeule est une chaine ASCIIZ sur 9
                //FIN        

                
                // Mise à jour des membres de la structure
                MesInfosPartage98:sNomPartage = sNomPartage
                MesInfosPartage98
:nType = nType
                MesInfosPartage98
:nAdresseChemin = &sCheminRépertoire
                MesInfosPartage98
:nAdresseDescription = &sLibelléPartage
                MesInfosPartage98
:nFlags = nFlags
                MesInfosPartage98
:sNomPartage = sNomPartage
                MesInfosPartage98
:sMotPasseLectureEcriture = sPassword
                MesInfosPartage98
:sMotPasseLectureSeule = sPassword
                
                nRésultat = API(sNomDll,"NetShareAdd",Null,50,&MesInfosPartage98,Dimension(MesInfosPartage98))
                SI
nRésultat<>0 ALORS
                        RENVOYER
Faux
                FIN
                
        AUTRE CAS
                
                sNomDll = "netapi32.dll"
                
                MesInfosPartageNT est un SHARE_INFO_2
                
                // Déclaration des variables unicode
                sCheminUnicode est une chaîne UNICODE
                sNomUnicode est une chaîne UNICODE
                sMotPasseUnicode est une chaîne UNICODE
                sRemarqueUnicode est une chaîne UNICODE
                SI
nFlags <> PARTAGE_PERSISTANT ALORS
                        nType += 0x40000000 // Partage temporaire
                FIN
                MesInfosPartageNT:nType = nType
                MesInfosPartageNT
:nMaxConnection = -1                // Pas de limite de connexion
                
                // Le partage total n'est pas le meme en 95,98,ME qu'en NT, XP, 2000....
                SI nDroits = PARTAGE_TOTAL ALORS
                        MesInfosPartageNT:nPermission = 119
                SINON
                        MesInfosPartageNT:nPermission = nDroits        
                FIN
                
                // Mise à jour du chemin à partager
                sCheminUnicode = AnsiVersUnicode(sCheminRépertoire)
                MesInfosPartageNT:nAdresseChemin = &sCheminUnicode
                
                // Mise à jour du mot de passe
                sMotPasseUnicode = AnsiVersUnicode(sPassword)
                MesInfosPartageNT:sMotDePasse = &sMotPasseUnicode
                
                // Mise à jour du nom du partage
                sNomUnicode = AnsiVersUnicode(sNomPartage)
                MesInfosPartageNT:sNomPartage = &sNomUnicode
                
                // Mise à jour des remarques
                sRemarqueUnicode = AnsiVersUnicode(sLibelléPartage)
                MesInfosPartageNT:sRemarque = &sRemarqueUnicode
                
                nRésultat = API(sNomDll,"NetShareAdd",Null,2,&MesInfosPartageNT,&nErreur)
                SI
nRésultat <> 0 ALORS
                        RENVOYER
Faux
                FIN        
FIN

RENVOYER Vrai



Liste des codes sources
®2006 - codel5g.com