¿Se ha preguntado alguna vez cómo recuperar las propiedades de un determinado archivo que desea utilizar en su propia aplicación? Si la aplicación que está desarrollando en VB.NET depende de un determinado entorno, deberá comprobar las propiedades del archivo antes de ejecutar código en el programa. Por ejemplo, puede que necesite saber con qué producto se distribuyó un determinado archivo o el número de versión del mismo. En VB.NET esto resulta bastante sencillo gracias al método GetVersionInfo y la clase FileVersionInfo.
Inicie el Explorador de Windows, haga clic con el botón secundario del mouse en un nombre de archivo y, a continuación, seleccione Propiedades en el menú emergente; aparecerá la ventana Propiedades correspondiente a dicho archivo. Esta ventana muestra información acerca del archivo seleccionado. Supongamos que ha hecho clic con el botón secundario del mouse en el nombre de archivo TASKMAN.EXE del Administrador de tareas. La figura 1 muestra el cuadro de diálogo Propiedades de este archivo concreto.
Puede incluir esta misma funcionalidad en las aplicaciones de VB.NET utilizando la clase FileVersionInfo. Se puede obtener exactamente la misma información que aparece en el cuadro de diálogo Propiedades (o un subconjunto de la misma) según necesite su aplicación. La figura 2 muestra la aplicación que se creará para obtener parte de la información que aparece en el cuadro de diálogo Propiedades.
Para crear el programa de demostración, inicie VB.NET y comience un nuevo proyecto con el nombre Retrieving File Properties. Con la figura 2 como guía, agregue siete controles TextBox, siete controles Label y un control Button a Form1. A continuación, agregue el siguiente código al evento Click correspondiente al botón Get Properties:
Private Sub Button1_Click(ByVal sender _
As System.Object, ByVal e As System.EventArgs) _
Handles Button1.Click
' Get the file version for the notepad
Dim FileProperties As FileVersionInfo =
FileVersionInfo.GetVersionInfo("C:\WINNT\taskman.exe")
' Retrieve the file description (name)
TextBox1.Text = FileProperties.FileDescription
'Retrieve the file version
TextBox2.Text = FileProperties.FileVersion
'Retrieve the file's internal name
TextBox3.Text = FileProperties.InternalName
'Retrieve the file's original name
TextBox4.Text = FileProperties.OriginalFilename
'Retrieve the product name
TextBox5.Text = FileProperties.ProductName
'Retrieve the product version
TextBox6.Text = FileProperties.ProductVersion
'Retrieve the language
TextBox7.Text = FileProperties.Language
End Sub
En este momento, pulse F5 para ejecutar la aplicación. Al hacer clic en el botón Get Properties, el programa debe responder mostrando la información acerca del archivo TASKMAN.EXE, tal y como se muestra en la figura 2.
El código del evento Click del botón Get Properties llama al método GetVersionInfo. Este método devuelve una clase FileVersionInfo que contiene toda la información de versión del archivo que ha especificado. Debe especificar un archivo completo al método GetVersionInfo. Si no indica correctamente el nombre de la ruta, el método devolverá únicamente el nombre de archivo, pero no la información acerca del mismo. Una vez que se ha llamado a GetVersionInfo, sólo será necesario recuperar la propiedad específica de la clase, tal y como se hizo en el programa de demostración.
La clase FileVersionInfo contiene un gran número de propiedades que puede consultar para recuperar información sobre el archivo. La tabla 1 muestra sólo aquellas propiedades que hemos consultado en el programa de demostración, pero puede encontrar la lista completa en MSDN si busca la descripción de la clase FileVersionInfo.
Tabla 1. Propiedades que se pueden utilizar con la clase FileVersionInfo.
Propiedad
Descripción
FileDescription
Recupera la descripción del archivo especificado.
FileVersion
Recupera el número de versión del archivo especificado.
InternalName
Recupera el nombre interno del archivo especificado. (No todos los archivos tienen un nombre interno asociado.)
OriginalFilename
Recupera el nombre original del archivo especificado cuando se creó por primera vez.
ProductName
Recupera el nombre de producto del archivo especificado. Éste es el nombre del producto con el que se distribuye el archivo. (No todos los archivos tienen un nombre de producto asociado.)
ProductVersion
Recupera la versión del producto del archivo especificado. Ésta es la versión de la propiedad ProductName.
Language
Recupera el identificador de idioma de Microsoft (como una cadena) del recurso de versión correspondiente al archivo especificado.
En este artículo se ha analizado cómo se puede utilizar la clase FileVersionInfo de VB.NET para recuperar información acerca de un archivo de su equipo. Puede agregar esta funcionalidad a sus propias aplicaciones, incluyendo únicamente la información concreta necesaria. Rápido y sencillo |