C# içinde çıkarılabilir disk listesini almak istiyorum. Yerel sürücüleri atlamak istiyorum. Çünkü kullanıcının dosyayı yalnızca çıkarılabilir diskte kaydetmesini istiyorum.C# içinde çıkarılabilir disk listesi nasıl alınır?
cevap
Bu yöntem için System.IO
başvurması gerekecektir.
var driveList = DriveInfo.GetDrives();
foreach (DriveInfo drive in driveList)
{
if (drive .DriveType == DriveType.Removable)
{
//Add to RemovableDrive list or whatever activity you want
}
}
Veya LINQ hayranları için
:var driveList = DriveInfo.GetDrives().Where(d => d.DriveType == DriveType.Removable);
Eklendi Tasarruf kısmına gelince
olarak bildiğim kadarıyla ben nereye kısıtlayabilirsiniz sanmıyorum kullanıcının bir SaveFileDialog kullanarak kaydetmesine izin verilir, ancak SaveFileDialog'u gösterdikten sonra bir denetimi tamamlayabilirsiniz.
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");
}
}
VEYA
iyi seçenek bir ağaç görünümü, yalnızca kullanıcı kaydetmek için çıkarılabilir sürücüleri ve içeriklerini gösteren içeren kendi kaydet Dialog oluşturmak olurdu! Bu seçeneği tavsiye ederim.
Umut bu da çıkarılabilir sürücülerin listesini almak için WMI kullanabilirsiniz
Bu makale hile yapmak görünür:
http://zayko.net/post/How-to-get-list-of-removable-drives-installed-on-a-computer-(C).aspx
H Rhys Ben iLists için yeni. Kullanıcıya çıkarılabilir sürücülerle iletişim kutusunu göstermek için, verilen bağlantıdaki kodu nasıl yürütmelisiniz? Lütfen yardım edin. Acil. – Anuya
Bu bağlantıdaki örnek kod, çıkarılabilir sürücülerin bir listesini döndürür. Bunu bir iletişim kutusunda kullanmak için, muhtemelen @ThePower tarafından önerilen özel bir iletişim kutusu oluşturmanız gerekecektir. –
Bu yazıdaki bağlantı öldü. Cevapla ne yapmalıyız? Bütün cevaplar, bugün (25-10-17) artık var olmayan bir kaynağın bağlantısıdır. – Jura25
nereden:
var removableDrives = from d in System.IO.DriveInfo.GetDrives()
where d.DriveType == DriveType.Removable;
Veya eş anlamlı: var removableDrives = DriveInfo.GetDrives() Burada (d => d.DriveType == DriveType.Removable); –
yardımcı olur. Yorum dayalı
ManagementObjectCollection drives = new ManagementObjectSearcher (
"SELECT Caption, DeviceID FROM Win32_DiskDrive WHERE InterfaceType='USB'"
).Get();
Düzenlendi:
Eğer sürücülerin listesini aldıktan sonra oraya GUID en olsun ve SaveFileDialogInstance.CustomPlaces koleksiyonuna ekleyin. Aşağıdaki kod biraz oynanması gerek
...
System.Windows.Forms.SaveFileDialog dls = new System.Windows.Forms.SaveFileDialog();
dls.CustomPlaces.Clear();
dls.CustomPlaces.Add(AddGuidOfTheExternalDriveOneByOne);
....
....
dls.ShowDialog();
USB'den ziyade SD ise? Yoksa bunun için uygun mu? – ThePower
- 1. Çıkarılabilir sürücüyü (ör. USB flash sürücü) algıla C/C++
- 2. Sunucuda disk alanı nasıl alınır?
- 3. VS2008 C# projesinde formların listesi nasıl alınır?
- 4. Veritabanı içinde MS SQL 2008 kullanarak tablo listesi nasıl alınır?
- 5. Geoserver'dan katmanların listesi nasıl alınır
- 6. Redshift'deki UDF listesi nasıl alınır?
- 7. CVS deposunda oluşturulan etiketlerin listesi nasıl alınır?
- 8. Exchange Server'dan kişi listesi nasıl alınır?
- 9. Döngüde oturum açarken disk tam hataları nasıl ele alınır?
- 10. Disk belleği ui-grid'den filtrelenmiş veriler nasıl alınır?
- 11. DataTable bir sütun değerleri listesi nasıl alınır?
- 12. Belirli Python modülündeki değişkenlerin listesi nasıl alınır?
- 13. Taleo powered websitesinde işlerin listesi nasıl alınır
- 14. Selenium hub'dan mevcut tarayıcıların listesi nasıl alınır?
- 15. Magento'da cms sayfalarının listesi nasıl alınır?
- 16. ASP.NET'te middlewares listesi nasıl alınır 5
- 17. Watin ile öğelerin listesi nasıl alınır?
- 18. Etkinlik geçmişi yığınının listesi nasıl alınır?
- 19. Visual Studio komutlarının listesi nasıl alınır?
- 20. Sunucuda kullanımda olan portların listesi nasıl alınır
- 21. Yüklü OLE DB sağlayıcılarının listesi nasıl alınır?
- 22. ASP.NET Active Directory'deki Grupların Listesi Nasıl Alınır
- 23. Ülkeler ve şehirlerin listesi nasıl alınır?
- 24. Yüklenen çalışma süresi paketlerinin listesi nasıl alınır?
- 25. Dropdownlist selectedIndexChanged içinde satır dizini nasıl alınır?
- 26. Disk belleği bir API içinde endekslenmeli mi?
- 27. Etkinlik türleri listesi nereden alınır?
- 28. HTML5'te bir videodan ses nasıl çıkarılabilir?
- 29. Azure Functions C# içinde istemci IP adresi nasıl alınır?
- 30. sqlite içinde sqrt nasıl alınır
Merhaba ThePower, Kullanılabilir çıkarılabilir sürücüleri kullanıcıya kaydetmek için bir iletişim kutusu olarak göstermek istiyorum. Lütfen yardım et. – Anuya
@karthik Sanırım sadece Sürücü Listesinden aldığınız dizinleri gösteren kendi özelleştirilmiş Save Dialog'unuzu yaratmanız gerekecek.SaveFileDialog.InitialDirectory öğesini çıkarılabilir sürücülerden biri olarak ayarlamayı deneyebilirsiniz, ancak kullanıcı yine de sabit sürücüye geri dönebilir. Kendi iletişim pencerenizi oluşturmak için zamanınız varsa, bu en iyi seçenektir Çıkarılabilir Öğeleri ve içeriklerini göstermek için bir TreeView kullanarak, ancak bu, bu çözüme ulaşmayı beklediğinizden daha fazla zaman alır. – ThePower
Linq sorgusunda bir hata var, "Removeable" yerine "Removable" olmalı – Lonefish