「Xamarin.Macで接続されているリムーバブルメディアの一覧を取得する」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「 Xamarin.Macで接続されているリムーバブルメディアの一覧を取得する。 これで得られるのは「リムーバブルメディアのパス…」) |
|||
35行目: | 35行目: | ||
* [[Xamarin.MacでCDやDVDなどの光学メディアを排出する]] | * [[Xamarin.MacでCDやDVDなどの光学メディアを排出する]] | ||
* [[Xamarin.Macでリムーバブルメディアの着脱を検知する]] | * [[Xamarin.Macでリムーバブルメディアの着脱を検知する]] | ||
− | * [[Xamarin. | + | * [[Xamarin.Macでファイルシステムの詳細を取得する]] |
[[category: Xamarin.Mac]] | [[category: Xamarin.Mac]] |
2018年12月28日 (金) 06:09時点における最新版
Xamarin.Macで接続されているリムーバブルメディアの一覧を取得する。
これで得られるのは「リムーバブルメディアのパス」の一覧だけなので、 そのリムーバブルメディアの種類などの詳細はNSWorkspace.SharedWorkspace.GetFileSystemInfoメソッドで別途調べる必要がある。
// 取り外し可能なマウントポイントを列挙する
var keys = NSArray.FromObjects(new []{
NSUrl.VolumeNameKey,
NSUrl.VolumeIsRemovableKey,
NSUrl.VolumeIsEjectableKey
});
var urls = NSFileManager.DefaultManager.GetMountedVolumes(keys, NSVolumeEnumerationOptions.None);
// リムーバブルメディアを列挙する
foreach (var url in urls)
{
// 「file://」形式をスラッシュで始まる一般的なパス形式に変換する
var path = url.RelativePath;
// 「/Volumes/」以外は無視
if (!path.StartsWith("/Volumes/"))
{
continue;
}
// リムーバブルメディアのパスを表示
// リムーバブルメディアの詳細はNSWorkspace.SharedWorkspace.GetFileSystemInfoメソッドで調べろ。
Console.WriteLine(path);
}