Je veux obtenir la liste des disques amovibles en C#. Je veux passer les lecteurs locaux. Parce que je veux que l'utilisateur enregistre le fichier uniquement sur un disque amovible.Comment obtenir la liste des disques amovibles dans C#?
Répondre
Vous aurez besoin de faire référence System.IO
pour cette méthode.
var driveList = DriveInfo.GetDrives();
foreach (DriveInfo drive in driveList)
{
if (drive .DriveType == DriveType.Removable)
{
//Add to RemovableDrive list or whatever activity you want
}
}
Ou pour les fans LINQ:
var driveList = DriveInfo.GetDrives().Where(d => d.DriveType == DriveType.Removable);
Ajouté
En ce qui concerne la partie économie, pour autant que je sais que je ne pense pas que vous pouvez restreindre l' l'utilisateur est autorisé à enregistrer à l'aide d'un SaveFileDialog, mais vous pouvez effectuer une vérification après avoir affiché SaveFileDialog.
if(saveFileDialog.ShowDialog() == DialogResult.OK)
{
if (CheckFilePathIsOfRemovableDisk(saveFileDialog.FileName) == true)
{
//carry on with save
}
else
{
MessageBox.Show("Must save to Removable Disk, location was not valid");
}
}
OU
La meilleure option serait de créer votre propre boîte de dialogue Enregistrer, qui contient une vue arborescente, ne montrant que les lecteurs amovibles et leur contenu pour l'utilisateur d'enregistrer à! Je recommanderais cette option.
Hope this helps
Cet article semble faire l'affaire:
http://zayko.net/post/How-to-get-list-of-removable-drives-installed-on-a-computer-(C).aspx
H Rhys, Je suis nouveau à iLists. Comment exécuter le code dans le lien que vous avez donné, afin d'afficher le dialogue avec les lecteurs amovibles à l'utilisateur? S'il vous plaît aider. Urgent. – Anuya
L'exemple de code de ce lien renvoie simplement une liste des lecteurs amovibles. Pour l'utiliser dans une boîte de dialogue, vous devrez probablement créer une boîte de dialogue personnalisée comme suggéré par @ThePower. –
Le lien dans ce post est mort. Que devrions-nous faire avec la réponse? Toute la réponse est, est un lien vers une ressource qui aujourd'hui (25-10-17) n'existe plus. – Jura25
Que diriez-vous:
var removableDrives = from d in System.IO.DriveInfo.GetDrives()
where d.DriveType == DriveType.Removable;
Ou le même: var removableDrives = DriveInfo.GetDrives(). Où (d => d.DriveType == DriveType.Removable); –
Vous pouvez également utiliser WMI pour obtenir la liste des lecteurs amovibles.
ManagementObjectCollection drives = new ManagementObjectSearcher (
"SELECT Caption, DeviceID FROM Win32_DiskDrive WHERE InterfaceType='USB'"
).Get();
Modifié basé sur le commentaire:
Une fois que vous obtenez la liste des lecteurs il y a de GUID et les ajouter à la collection obtenir des SaveFileDialogInstance.CustomPlaces.
Le code ci-dessous ont besoin ... quelques ajustements
System.Windows.Forms.SaveFileDialog dls = new System.Windows.Forms.SaveFileDialog();
dls.CustomPlaces.Clear();
dls.CustomPlaces.Add(AddGuidOfTheExternalDriveOneByOne);
....
....
dls.ShowDialog();
Et si c'était SD plutôt que USB? Ou cela va-t-il répondre à cela? – ThePower
- 1. Opendialog pour afficher les disques amovibles dans C#
- 2. Comment énumérer les disques durs
- 3. Comment obtenir le numéro de série des disques durs?
- 4. en utilisant C# comment extraire des informations sur les disques durs présents sur la machine locale
- 5. Parsing fichier pour obtenir la liste des noms en C#
- 6. Comment obtenir la liste des clés dans un dictionnaire?
- 7. Comment retourner la liste des chaînes dans C#
- 8. Comment obtenir une liste des assemblys en C#?
- 9. Commande C# HttpWebRequest pour obtenir la liste des répertoires
- 10. Partages réseau de lecteurs amovibles disparaissent (Windows)
- 11. Comment obtenir une liste des sessions Windows?
- 12. Obtenir la liste des champs dans la structure
- 13. comment obtenir des lecteurs physiques dans Windows
- 14. obtenir la liste des enfants dans SimpleXMLElement PHP
- 15. XQuery pour obtenir la liste des attributs
- 16. obtenir des valeurs de la liste dans un modèle Django
- 17. MySQL: comment obtenir la liste des tables en utilisant ODBC
- 18. Comment obtenir la liste des URL pour un domaine
- 19. Comment obtenir la liste des fenêtres ouvertes de xserver
- 20. Comment obtenir la liste des rôles pour l'utilisateur actuellement connecté
- 21. Comment obtenir la liste des propriétés d'une classe?
- 22. Obtenir la liste des contextes dans le serveur Tomcat
- 23. LINQ: Comment obtenir des éléments d'une liste interne dans une liste?
- 24. Comment obtenir la liste des vues de "mail" dans Lotus Notes en utilisant .NET?
- 25. Liste des fonctions C++
- 26. Comment obtenir la valeur sélectionnée de la liste des boutons radio dans jquery?
- 27. Comment obtenir la liste de tous les utilisateurs dans SharePoint
- 28. MSSQL2000: obtenir la liste des membres de rôle
- 29. Comment puis-je obtenir la liste des propriétés dans un objet dans Actionscript?
- 30. Comment obtenir les N premiers éléments d'une liste en C#?
Salut ThePower, Je veux montrer les lecteurs amovibles disponibles à l'utilisateur comme une boîte de dialogue pour enregistrer un fichier. S'il vous plaît aider. – Anuya
@karthik Je pense que vous devrez créer votre propre dialogue de sauvegarde personnalisé, qui montrera seulement les répertoires que vous avez obtenus à partir de la liste des lecteurs.Vous pouvez essayer de définir saveFileDialog.InitialDirectory comme l'un des lecteurs amovibles, mais l'utilisateur pourra toujours revenir sur le disque dur, etc. Si vous avez le temps de créer votre propre boîte de dialogue, alors c'est la meilleure option , en utilisant un TreeView pour montrer les RemovableDrives et leur contenu, mais cela prendra plus de temps que vous attendez pour réaliser cette solution. – ThePower
Il y a une erreur dans la requête linq, elle devrait être "Removable" au lieu de "Removeable" – Lonefish