私はリムーバブルディスクのリストをCで取得したい#。私はローカルドライブをスキップします。 私はリムーバブルディスクにのみファイルを保存したいので。C#でリムーバブルディスクのリストを取得するには?
答えて
。
var driveList = DriveInfo.GetDrives();
foreach (DriveInfo drive in driveList)
{
if (drive .DriveType == DriveType.Removable)
{
//Add to RemovableDrive list or whatever activity you want
}
}
またはLINQファンのための
:var driveList = DriveInfo.GetDrives().Where(d => d.DriveType == DriveType.Removable);
追加されました保存部分については
、私の知る限りでは、私はあなたがどこ制限できるとは思いませんユーザーはSaveFileDialogを使用して保存することができますが、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");
}
}
OR
最良のオプションは、のみに保存するユーザーのために、リムーバブルドライブとその内容を示す、ツリービューが含まれている独自の名前を付けて保存]ダイアログを作成することです!私はこのオプションをお勧めします。
ホープこれはあなたがまた、リムーバブルドライブのリストを取得するためにWMIを使用することができます
この記事では、トリックを行うことになります。
http://zayko.net/post/How-to-get-list-of-removable-drives-installed-on-a-computer-(C).aspx
方法について:あなたは、このメソッドのためSystem.IO
を参照する必要があります
var removableDrives = from d in System.IO.DriveInfo.GetDrives()
where d.DriveType == DriveType.Removable;
または同義語: var removableDrives = DriveInfo.GetDrives()。ここで(d => d.DriveType == DriveType.Removable); –
に役立ちます。コメントをもとに
ManagementObjectCollection drives = new ManagementObjectSearcher (
"SELECT Caption, DeviceID FROM Win32_DiskDrive WHERE InterfaceType='USB'"
).Get();
編集:
あなたがドライブの一覧を取得した後は、そこにGUIDの取得とSaveFileDialogInstance.CustomPlacesコレクションに追加します。以下のコードは、いくつかの調整が必要
...
System.Windows.Forms.SaveFileDialog dls = new System.Windows.Forms.SaveFileDialog();
dls.CustomPlaces.Clear();
dls.CustomPlaces.Add(AddGuidOfTheExternalDriveOneByOne);
....
....
dls.ShowDialog();
USBではなくSDであればどうなりますか?それともこれはそれに応えますか? – ThePower
- 1. cでリムーバブルディスクを表示するためのOpendialog#
- 2. C#でAzureリストのストレージを取得するには?
- 3. CでLinuxでオープンソケットのリストを取得する方法は?
- 4. C#定義済みのプリプロセッサのリストを取得するには?
- 5. C#のディレクトリからファイルのリストを取得するには
- 6. リストC#の入力間の時間を取得するには?
- 7. Linux(ubuntu)でビデオキャプチャデバイス(Webカメラ)のリストを取得するには? (C/C++)
- 8. C#リスト /リスト<class>値を取得
- 9. BLToolkitでidsのリストでオブジェクトのリストを取得するには?
- 10. LinuxでC/C++でSCSIディスクのリストを取得する方法は?
- 11. C#の2つのリストの間に明確なリストを取得
- 12. C#のネームスペースのクラスのリストを取得
- 13. 値のリストを取得するには?
- 14. C#のAzureサーバのリストを取得
- 15. Cで特定のGitHubリポジトリ(リンク)からファイルのリストを取得するには
- 16. C#.NETフレームワークでBluetoothデバイスのリストを取得する
- 17. C#リストのボットを動的に取得する
- 18. C#でディレクトリアクセスタイプを取得するには?
- 19. objective-cで利用できるiPhone言語名のローカライズされたリストを取得するには? Objective-Cで
- 20. C#データを取得してリストに保存する
- 21. iphone objective-cにインストールされているアプリケーションのリストを取得
- 22. 開いているウィンドウのリストを取得するC#
- 23. C#開いている "TcpListeners"のリストを取得する方法
- 24. Java - リストのリストを取得する
- 25. 取得リストは
- 26. osがリムーバブルディスクをフォーマットするのを難しくするJavaプログラム
- 27. javascriptですべてのタイムゾーンのリストを取得するには
- 28. C#リスト内の特定の位置を取得する
- 29. Cでコピーを作成せずにリストの一部を取得する方法
- 30. どのようにC#のリストで最も提示アイテムを取得する?
こんにちはThePower、 利用可能なリムーバブルドライブをダイアログボックスとして表示してファイルを保存したいとします。助けてください。 – Anuya
@karthik私はあなた自身のカスタマイズされた保存ダイアログを作る必要があると思います。これはあなたがドライブのリストから得たディレクトリだけを表示します。saveFileDialog.InitialDirectoryをリムーバブルドライブの1つに設定することもできますが、ユーザーは引き続きハードドライブなどに戻ることができます。 独自のダイアログを作成する時間があれば、これが最適ですTreeViewを使用してRemovableDriveとその内容を表示しますが、これはこのソリューションを実現するよりも時間がかかります。 – ThePower
linqクエリにエラーがあります。「取り外し可能」ではなく「リムーバブル」にする必要があります – Lonefish