利用可能な場合、メディアファイルのいくつかのファイル プロパティを表示するアプリケーションが必要です (Windows で使用されている正確な英語の単語はわかりません) FileName、Length/Duration、FileType(.avi .mp3 など) 私は taglib を試しましたおよびwindowsapishellですが、動作する結果が得られません(参照は良好です)
ShellFile so = ShellFile.FromFilePath(file);
so.Properties.System.(everythingIwant)
表示したい多くのファイル プロパティが表示されますが、動作させることができません エラーの例:
'WindowsFormsApplication2.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\WindowsBase\v4.0_4.0.0.0__31bf3856ad364e35\WindowsBase.dll', Skipped loading symbols. モジュールが最適化され、デバッガー オプションの [Just My Code] が有効になります。プログラム '[6300] WindowsFormsApplication2.vshost.exe: Program Trace' はコード 0 (0x0) で終了しました。プログラム '[6300] WindowsFormsApplication2.vshost.exe: Managed (v4.0.30319)' はコード 0 (0x0) で終了しました。
のような簡単なもの
var thing = so.Properties.System.FileName.Description;
Console.WriteLine(thing);
動作しません
Java と PHP のプログラミングはある程度知っていますが、C# はまったくの初心者です。
@marr75 と @errorstacks に感謝します!
フォローアップの質問: 私はこれを作成しましたが、動作します
class Program
{
static void Main(string[] args)
{
string file = "E:/Dump/Shutter Island.avi";
FileInfo oFileInfo = new FileInfo(file);
Console.WriteLine("My File's Name: \"" + oFileInfo.Name + "\"");
DateTime dtCreationTime = oFileInfo.CreationTime;
Console.WriteLine("Date and Time File Created: " + dtCreationTime.ToString());
Console.WriteLine("myFile Extension: " + oFileInfo.Extension);
Console.WriteLine("myFile total Size: " + oFileInfo.Length.ToString());
Console.WriteLine("myFile filepath: " + oFileInfo.DirectoryName);
Console.WriteLine("My File's Full Name: \"" + oFileInfo.FullName + "\"");
}
}
しかし、情報が存在する場合にのみ情報を提供したいのです。私が見ました
**Exists** Gets a value indicating whether a file exists. (Overrides FileSystemInfo.Exists.)
しかし、この関数をどのように使用すればよいですか? if(io.ofileinfo.FullName.exist) {Console.Write(io.ofileinfo.fullname);}