在 VB.NET 中检索文件信息
Deborah L. Cooper
在本文中,Debbie Cooper 向您介绍了如何按照 Windows 在“属性”对话框中的显示方式检索有关文件的信息。您也许希望阅读(或再次阅读)Debbie 在 2002 年 12 月最新发表的“Monitoring Files the Easy Way Using VB.NET”文章。
您是否曾经希望了解如何检索要在您自己的应用程序中使用的特定文件的属性?如果您要在 VB.NET 中开发的应用程序依赖于特定的环境,那么在执行程序中的代码之前,您需要检查文件的属性。例如,您可能需要了解特定文件随之发行的产品,或者是文件的版本号。在 VB.NET 中,借助 GetVersionInfo 方法和 FileVersionInfo 类,要获得这些信息简直易如反掌。
如果启动 Windows 资源管理器,右击一个文件名,然后从弹出式菜单中选择“属性”,则会看到该文件的“属性”窗口。“属性”窗口显示了选定文件的有关信息。假设您在任务管理器的 TASKMAN.EXE 文件名上右击。图 1 显示了该文件的“属性”对话框。
通过使用 FileVersionInfo 类,您可以在 VB.NET 应用程序中提供相同的功能。根据应用程序的需要,您可以复制“属性”对话框中显示的全部信息,也可以复制其中的一部分。图 2 显示了我们将要创建的应用程序,它将用来复制“属性”对话框中显示的部分信息。
要创建演示程序,请启动 VB.NET,并开始一个名为 Retrieving File Properties(检索文件属性)的新项目。按照图 2 所示,向 Form1 添加七个文本框控件、七个标签控件和一个按钮控件。接下来,将以下代码添加到 Get Properties(获取属性)按钮的 Click 事件:
Private Sub Button1_Click(ByVal sender _
As System.Object, ByVal e As System.EventArgs) _
Handles Button1.Click
' 获取记事本的文件版本
Dim FileProperties As FileVersionInfo =
FileVersionInfo.GetVersionInfo("C:\WINNT\taskman.exe")
' 检索文件说明(名称)
TextBox1.Text = FileProperties.FileDescription
'检索文件版本
TextBox2.Text = FileProperties.FileVersion
'检索文件的内部名称
TextBox3.Text = FileProperties.InternalName
'检索文件的旧名称
TextBox4.Text = FileProperties.OriginalFilename
'检索产品名称
TextBox5.Text = FileProperties.ProductName
'检索产品版本
TextBox6.Text = FileProperties.ProductVersion
'检索语言
TextBox7.Text = FileProperties.Language
End Sub
现在,按 F5 键执行该应用程序。当您单击 Get Properties(获取属性)按钮时,程序将显示 TASKMAN.EXE 文件的有关信息,如图 2 中所示。
Get Properties(获取属性)按钮的 Click 事件代码调用 GetVersionInfo 方法。该方法返回一个 FileVersionInfo 类,其中包括您所指定的文件的所有版本信息。您需要向 GetVersionInfo 方法提供一个完全限定的文件。如果没有指定正确的路径名,则该方法仅返回文件名本身,而不返回文件信息。调用 GetVersionInfo 后,就像我们在演示程序中所做的一样,只需通过类就可以检索特定的属性。
FileVersionInfo 类包含很多属性,您可以通过查询这些属性来检索文件信息。表 1 仅显示了我们在演示程序中查询的属性,但是可以在 MSDN 中通过搜索 FileVersionInfo 类说明找到完整的列表。
表 1:FileVersionInfo 类可以使用的属性。
属性 |
说明 |
FileDescription |
检索指定文件的说明。 |
FileVersion |
检索指定文件的版本号。 |
InternalName |
检索指定文件的内部名称。(并不是所有的文件都关联有内部名称。) |
OriginalFilename |
检索指定文件在首次创建时最初被赋予的名称。 |
ProductName |
检索指定文件的产品名称。它是此文件随之发行的产品的名称。(并不是所有的文件都关联有产品名称。) |
ProductVersion |
检索指定文件的产品版本。它是 ProductName 属性的版本。 |
Language |
检索指定文件的版本资源中的 Microsoft 语言标识符(显示为字符串)。 |
在本文中,您已了解如何在 VB.NET 中使用 FileVersionInfo 类来检索您计算机上文件的有关信息。您可以将此功能添加到您自己的应用程序中,仅包括所需的特定信息。简单利落,对吧?
下载 FILEINFO.ZIP
有关 Hardcore Visual Basic 和 Pinnacle Publishing 的详细信息,请访问网站 http://www.pinpub.com/(英文)。
注意:这不是 Microsoft Corporation 的网站。Microsoft 对该网站内容不承担任何责任。
本文是从 Hardcore Visual Basic 2003 年 3 月号转载的。版权所有 2003,Pinnacle Publishing, Inc.(除非另行说明)。保留所有权利。Hardcore Visual Basic 为 Pinnacle Publishing, Inc. 独立发行,未经 Pinnacle Publishing, Inc. 事先同意,不得以任何形式使用或复制本文的任何部分(评论文章中的简短引用除外)。要与 Pinnacle Publishing, Inc. 联系,请致电 1-800-788-1900。
评论