Pouvez-vous montrer un exemple de code pour la lecture d'une étiquette de disque ou le nom de volume dans .NET? Je me sens cela nécessite WMI, mais je suis réticent à « déroulant » dans WMI parce qu'il est comme laisser tomber vers le bas dans une requête SQL basée sur une chaîne dans le sens que certains objets ne peuvent exister sur certaines versions de systèmes d'exploitation ou l'utilisateur peut ne pas avoir le droit d'interroger certaines données. Je serai heureux d'être convaincu que je me trompe sur WMI ...Comment puis-je lire une "étiquette de lecteur" ou un "nom de volume" dans .NET?
4
A
Répondre
12
Non WMI requis. Vous obtiendrez toutes les étiquettes de volume suivantes:
var labels = from drive in DriveInfo.GetDrives()
select drive.VolumeLabel
3
Appelez DriveInfo.GetDrives pour obtenir un tableau d'informations sur le lecteur. Ensuite, regardez DriveInfo.VolumeLabel
1
Vous pouvez utiliser System.IO.DriveInfo pour obtenir la liste des lecteurs. Voir l'exemple suivant:
Note: CDRom types d'entraînement n'ont pas un nom de volume.
Using System.IO;
.
.
.
DriveInfo[] driveInfoList = DriveInfo.GetDrives();
foreach (DriveInfo drive in driveInfoList)
{
if (drive.DriveType != DriveType.CDRom)
textBox1.Text += String.Format("Name:{0} Volume:{1}\r\n", drive.Name, drive.VolumeLabel);
else
textBox1.Text += String.Format("Name:{0}\r\n", drive.
}
Questions connexes
- 1. DDD: étiquette SO. Une entité ou un type de valeur?
- 2. Comment intégrer un lecteur multimédia
- 3. Gauche Aligner une étiquette ou un contrôle dans le code
- 4. Comment éjecter un volume en Java?
- 5. Exemple de lecteur VCF .NET
- 6. Créez-vous une étiquette/étiquette pour une version/un chemin spécifique ou une branche?
- 7. Dans PowerShell, comment puis-je déterminer si le lecteur actuel est un lecteur réseau ou non?
- 8. Erreur de message SSRS: "Le nom de fichier, le nom de répertoire ou la syntaxe d'étiquette de volume est incorrect"
- 9. Comment contrôler le volume audio dans .NET 3.5?
- 10. Lire une chaîne stockée dans un fichier de ressources (resx) avec un nom de fichier dynamique
- 11. Comment programmer un lecteur de musique simple?
- 12. Méthode efficace pour interroger ou définir le nom de volume d'une partition ext3 sous Linux?
- 13. comment sauter une étiquette ayant même nom de classe d'autres dans jquery
- 14. Vous référez/sélectionnez un lecteur basé seulement sur son étiquette? (c'est-à-dire, pas la lettre de lecteur)
- 15. Accéder à un lecteur UNC dans ASP .NET?
- 16. Comment lire une valeur de registre dont le nom est un chemin de fichier utilisant WshShell.RegRead
- 17. Centrer une étiquette dans un UIView
- 18. Est-il possible de définir une étiquette ou un identifiant pour une animation sur l'iPhone?
- 19. Comment déplacer une vue ou une étiquette dans le sens X en utilisant CABasicAnimation dans iPhone
- 20. Comment intégrer un lecteur flash dans une application GTK?
- 21. Lire une version non .NET DLL de C#?
- 22. Comment afficher une étiquette de surimpression sur une carte?
- 23. IOException pour un lecteur plein ou en dehors de l'espace
- 24. Comment empêcher TFS d'écraser une étiquette?
- 25. Contrôle SWFLoader Volume
- 26. Typemismatch avec I18N étiquette au lieu de l'attribut Nom
- 27. Comment créer un lecteur YouTube natif dans une application C++?
- 28. Lecteur RSS stable utilisant .NET
- 29. Comment puis-je obtenir facilement un ensemble de fichiers qui partagent une étiquette dans TFS?
- 30. comment intégrer un lecteur dans une page Web?
Ou (nouveau DriveInfo ("C")). VolumeLabel –
C'est la bonne réponse. Je trouve qu'il est préférable d'obtenir une instance DriveInfo puis demander la VolumeLabel comme une déclaration distincte, car drive.VolumeLabel jette un IOException quand « le lecteur est pas prêt », comme un vide CDROM. Des conseils sur la façon d'éviter cette exception? Juste l'avaler? – flipdoubt