在 C# 中是否有一种简单的方法可以通过扩展名来确定文件是什么?例如,如果我传递文件扩展名“.txt”,那么它将返回“文本文档”,或者如果我传递“.pdf”,它将返回“Adobe Acrobat Reader”。我看到 Windows 资源管理器中内置了这种行为,位于“类型”列下。有没有办法在 C# 中模仿这个?
如果您想获得资源管理器实际显示的内容并愿意使用 COM 互操作,您可以使用 Shell.Application 类以最少的代码量获得它。如果要添加引用,请浏览到 X:\windows\system32\shell32.dll,它将导入 shell32 的类型库。然后只需使用代码:
string GetFileType(string path)
{
Shell32.ShellClass shell = new Shell32.ShellClass();
Shell32.Folder folder = shell.NameSpace(Path.GetDirectoryName(path));
Shell32.FolderItem item = folder.ParseName(Path.GetFileName(path));
return folder.GetDetailsOf(item, 2);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)