La determinación de la aplicación asociada
Conocer la aplicación asociada con una determinada extensión de archivo.
¿DÓNDE ESTÁ ESA INFORMACIÓN?
Las aplicaciones asociadas con las extensiones de los archivos son almacenados en el Registro de Windows. Para obtener esta información, primero debemos recuperar la 'clase' que una de las extensiones de archivo pertenece. Esta información puede encontrarse en:
HKEY_CLASSES_ROOT/.ext/(default)
donde '.ext' es la extensión del archivo que desee (como '.txt', '.bmp', etc.). Entonces tenemos la línea de comandos se utiliza para abrir ese tipo de archivos. Para lograrlo, debemos recuperar los datos en
HKEY_CLASSES_ROOT/class/Shell/Open/Command/(default)
donde 'clase' es el archivo de clase de una extensión pertenece. Cadena que generalmente tiene la forma
'D:/PATH/APPNAME.EXT' '%1' -OPCIONES
donde: %1 es un marcador de posición para el documento de archivo para abrir con la aplicación, por lo que debe encontrar su posición dentro de la cadena y reemplazarlo con el nombre del archivo que queremos abrir.
EJEMPLO
La siguiente función devuelve la línea de comandos de la aplicación asociada para abrir un documente de archivo:
utiliza el Registro de Windows, SysUtils
& nbsp & nbsp función GetAssociation(const DocFileName: string): string
& nbsp & nbsp var
& nbsp & nbsp & nbsp & nbsp FileClass: cadena
& nbsp & nbsp & nbsp & nbsp Reg: TRegistry
& nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp Resultado := '
& nbsp & nbsp & nbsp & nbsp Reg := TRegistry.Crear(KEY_EXECUTE)
& nbsp & nbsp & nbsp & nbsp Reg.RootKey := HKEY_CLASSES_ROOT
& nbsp & nbsp & nbsp & nbsp FileClass := '
& nbsp & nbsp & nbsp & nbsp si Reg.OpenKeyReadOnly(ExtractFileExt(DocFileName)) entonces
& nbsp & nbsp & nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp FileClass := Reg.ReadString(')
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Reg.CloseKey
& nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp & nbsp & nbsp si FileClass <> ' then begin
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp si Reg.OpenKeyReadOnly(FileClass '/Shell/Open/Command'),
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Resultado := Reg.ReadString(')
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Reg.CloseKey
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp & nbsp & nbsp Reg.Libre
& nbsp & nbsp final
La determinacion de la aplicacion asociada
La determinacion de la aplicacion asociada : Multi-millones de consejos para hacer su vida mas facil.
Conocer la aplicacion asociada con una determinada extension de archivo.
¿DONDE ESTA ESA INFORMACION?
Las aplicaciones asociadas con las extensiones de los archivos son almacenados en el Registro de Windows. Para obtener esta informacion, primero debemos recuperar la 'clase' que una de las extensiones de archivo pertenece. Esta informacion puede encontrarse en:
HKEY_CLASSES_ROOT/.ext/(default)
donde '.ext' es la extension del archivo que desee (como '.txt', '.bmp', etc.). Entonces tenemos la linea de comandos se utiliza para abrir ese tipo de archivos. Para lograrlo, debemos recuperar los datos en
HKEY_CLASSES_ROOT/class/Shell/Open/Command/(default)
donde 'clase' es el archivo de clase de una extension pertenece. Cadena que generalmente tiene la forma
'D:/PATH/APPNAME.EXT' '%1' -OPCIONES
donde: %1 es un marcador de posicion para el documento de archivo para abrir con la aplicacion, por lo que debe encontrar su posicion dentro de la cadena y reemplazarlo con el nombre del archivo que queremos abrir.
EJEMPLO
La siguiente funcion devuelve la linea de comandos de la aplicacion asociada para abrir un documente de archivo:
utiliza el Registro de Windows, SysUtils
& nbsp & nbsp funcion GetAssociation(const DocFileName: string): string
& nbsp & nbsp var
& nbsp & nbsp & nbsp & nbsp FileClass: cadena
& nbsp & nbsp & nbsp & nbsp Reg: TRegistry
& nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp Resultado := '
& nbsp & nbsp & nbsp & nbsp Reg := TRegistry.Crear(KEY_EXECUTE)
& nbsp & nbsp & nbsp & nbsp Reg.RootKey := HKEY_CLASSES_ROOT
& nbsp & nbsp & nbsp & nbsp FileClass := '
& nbsp & nbsp & nbsp & nbsp si Reg.OpenKeyReadOnly(ExtractFileExt(DocFileName)) entonces
& nbsp & nbsp & nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp FileClass := Reg.ReadString(')
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Reg.CloseKey
& nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp & nbsp & nbsp si FileClass <> ' then begin
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp si Reg.OpenKeyReadOnly(FileClass '/Shell/Open/Command'),
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Resultado := Reg.ReadString(')
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Reg.CloseKey
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp & nbsp & nbsp Reg.Libre
& nbsp & nbsp final
La determinación de la aplicación asociada
By Consejos Y Trucos
La determinación de la aplicación asociada : Multi-millones de consejos para hacer su vida más fácil.