PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → Connaitre dossiers partagés
Connaitre dossiers partagés
Iniciado por Jean-Paul, abr., 14 2005 5:39 PM - 4 respostas
Publicado em abril, 14 2005 - 5:39 PM
Salut,

Est-ce qu'il existe une fonction pour connaitre les dossiers Windows partagés ?

Merci

JPaul
Publicado em abril, 14 2005 - 6:47 PM
Je ne sais pas s'il existe une fonction Windev, mais c'est possible avec les commandes DOS:
Sur la machine locale:
net share
Sur une machine distante:
net view \\NomMachine

Frédéric.
Publicado em abril, 14 2005 - 6:48 PM
la commande : net share
Publicado em abril, 14 2005 - 7:11 PM
Tu peux envoyer le résultat de net share dans un fichier txt et l'exploiter avec WinDev
Publicado em abril, 15 2005 - 12:03 AM
Salut,

voici une fonction qui te permet de listes les ressources partagées
Tu as besoin d'un champ arbre avec le nom Arbre1

Tu peux placer la procédure Enum() dans un bouton par exemple Lors de cet
appel, tu peux passer comme premier paramètre le nom d'une ressource réseau.
Par exemple le nom d'un groupe de travail: "WORKGROUP" ou "MSHOME" par
exemple. Ou tu peux carément passer le nom d'un poste de travail ex:\\Poste1
Le premier paramètre n'est pas sensible à la case. Ne passe aucun paramètre
pour le 2e paramètre. Il sert pour un appel récursif à la fonction


PROCEDURE Enum(LOCAL strDepart="",iPtrEnumPrecedent=-1)
RESOURCE_GLOBALNET est un entier = 2
RESOURCETYPE_ANY est un entier = 0
RESOURCEUSAGE_CONTAINER est un entier = 2

NETRESOURCEA est une structure
dwScope est un entier //Type C : DWORD
dwType est un entier //Type C : DWORD
dwDisplayType est un entier //Type C : DWORD
dwUsage est un entier //Type C : DWORD
lpLocalName est un entier //Type C : LPSTR
lpRemoteName est un entier //Type C : LPSTR
lpComment est un entier //Type C : LPSTR
lpProvider est un entier //Type C : LPSTR
FIN
strSuite est une chaîne
strRemote est une chaîne

iNb est un entier = -1
iTaille est un entier = 16384
bBuff est un Buffer sur 16384

iPtrEnum est un entier
iRetour est un entier

netrTemp est un NETRESOURCEA

iCpt est un entier
SI iPtrEnumPrecedent = -1 ALORS
iPtrEnumPrecedent = &netrTemp
SI strDepart <> "" ALORS
strRemote = strDepart+Caract(0)
FIN
netrTemp:lpRemoteName = &strRemote
FIN
iRetour =
API("Mpr","WNetOpenEnumA",RESOURCE_GLOBALNET,RESOURCETYPE_ANY,0,iPtrEnumPrecedent,&iPtrEnum)
SI iRetour = 0 ALORS
iRetour = API("Mpr","WNetEnumResourceA",iPtrEnum,&iNb,&bBuff,&iTaille)
SI iRetour = 0 ALORS
POUR iCpt = 1 A iNb
strSuite = ""
Transfert(&netrTemp,&bBuff+(Dimension(netrTemp)*(iCpt-1)),Dimension(netrTemp))
SI ETBinaire(netrTemp:dwUsage,RESOURCEUSAGE_CONTAINER) =
RESOURCEUSAGE_CONTAINER ALORS
SI strDepart <> "" ALORS
strSuite = strDepart+TAB
FIN
strSuite += ChaîneRécupère(netrTemp:lpRemoteName,crAdresseASCIIZ)
Enum(strSuite,&netrTemp)
ArbreAjoute(Arbre1,strSuite)
SINON
SI strDepart <> "" ALORS
strSuite = strDepart+TAB
FIN
strSuite += ChaîneRécupère(netrTemp:lpRemoteName,crAdresseASCIIZ)
ArbreAjoute(Arbre1,strSuite)
FIN
FIN
FIN
API("mpr","WNetCloseEnum",iPtrEnum)
SINON
Erreur(ErreurInfo())
FIN


Mathieu