Pregunta

He creado una extensión de espacio de nombres que se arraiga en virtud de Escritorio.El propósito principal de la extensión es proporcionar una lista virtual de los archivos ZIP que representan una lista configurable de directorios.Cuando el usuario hace clic en uno de los elementos del contenido de los relacionados con el directorio de la cremallera en su lugar y el archivo ZIP resultante se almacena en una carpeta de caché.

Todo esto funciona bien a un lado un tema menor.Si nos vamos al Explorador de Windows, abra la extensión y haga doble clic en un elemento en el archivo abierto es el de la caché.[CORREGIR]

Si por otro lado, nos abre un cuadro de Diálogo Abrir el archivo abierto es uno de un directorio archivos Temporales de Internet.[INCORRECTO]

¿Qué tengo que cambiar para que el cuadro de Diálogo Abrir (cuando se utiliza, por ejemplo, comedero notepad.exe) para abrir el archivo desde la carpeta de la caché y no de archivos Temporales de Internet.He tratado de enviar siempre los calificados de nombre de archivo en IShellFolder::GetDisplayNameOf pero sin suerte.

¿Fue útil?

Solución 2

El problema se ha solucionado mediante el enmascaramiento de SFGAO_FILESYSTEM en los atributos devueltos por la implementación del método de interfaz IShellFolder::GetAttributesOf.

Otros consejos

Suena como que usted no está de paso en la correcta directorio inicial (en el lpstrInitialDir o lpstrFile parámetro de su OPENFILENAME struct).

Introduzca su directorio de memoria caché en lpstrInitialDir y dejar lpstrFile en blanco y debería funcionar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top