IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Chemin d'accès d'un lecteur réseau retourné avec une lettre et non le chemin


Sujet :

Windows Forms

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2023
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juin 2023
    Messages : 1
    Par défaut Chemin d'accès d'un lecteur réseau retourné avec une lettre et non le chemin
    Bonjour,

    J'ai fait ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    using System;
    using System.IO;
    using System.Windows.Forms;
    using System.Net;
     
     
    namespace WinFormsApp1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
     
            private void button3_Click(object sender, EventArgs e)
            {
                // Spécifiez la lettre du lecteur réseau
                string driveLetter = "T";
     
                // Créez une instance de DriveInfo en spécifiant la lettre du lecteur réseau
                DriveInfo driveInfo = new DriveInfo(driveLetter);
     
                // Vérifiez si le lecteur est un lecteur réseau
                if (driveInfo.DriveType == DriveType.Network)
                {
                    // Obtenez le chemin d'accès du lecteur réseau
                    string networkPath = driveInfo.RootDirectory.FullName;
     
                    MessageBox.Show("Chemin d'accès du lecteur réseau : " + networkPath);
                }
                else
                {
                    MessageBox.Show("Ce lecteur n'est pas un lecteur réseau.");
                }
            }
        }
    }
    Mon but est de retourner le chemin d'accès ("\\serveur\partage") du lecteur réseau "T" mais lorsque que je le lance il me retourne le chemin suivant : "T:\" mais pas le véritable chemin qui serait pour le cas de mon test "\\10.0.0.20\Test\"

    Avez vous une solution afin de pouvoir retourner le chemin complet au lieu de le lettre svp ?

    Pour info je suis novice en programmation mais je ne demande qu'à en apprendre plus :-)

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 254
    Par défaut
    Perso pour faire ça, je passe par les API Windows :

    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
        Public Declare Function WNetGetConnection Lib "mpr.dll" Alias "WNetGetConnectionA" (ByVal lpszLocalName As String, ByVal lpszRemoteName As String, ByRef cbRemoteName As Integer) As Integer
     
        Public Shared Function CheckNetworkDrive(path As String) As String
     
            '--- Détecte si le chemin donné est sur un lecteur réseau, si le cas, convertion en chemin unc complet -> \\serveur\partage\... ----
            Dim ret As Integer
            Dim out As String = New String(" "c, 260)
            Dim len As Integer = 260
     
            ret = WNetGetConnection(IO.Path.GetPathRoot(path).Substring(0, 2), out, len)
            out = out.Replace(vbNullChar, "").Trim
            If out.Trim <> String.Empty Then
                If Not path.StartsWith(out) Then
                    path = IO.Path.Combine(out, path.Replace(IO.Path.GetPathRoot(path), ""))
                    Return path
                End If
            End If
            Return path
     
        End Function

Discussions similaires

  1. [WAS] Accès répertoire sur lecteur réseau
    Par Adns-plop dans le forum Websphere
    Réponses: 0
    Dernier message: 02/10/2012, 11h12
  2. [WS 2008 R2] accés refusé au lecteur réseau
    Par BIMDF dans le forum Windows Serveur
    Réponses: 6
    Dernier message: 21/03/2012, 08h38
  3. Réponses: 7
    Dernier message: 13/04/2011, 13h29
  4. [W2003 Term Serv] Droits d'accès: .exe sur lecteur réseau
    Par annedeblois dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 21/04/2008, 21h05
  5. Réponses: 1
    Dernier message: 04/04/2008, 14h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo