usar net how como asp c# .net path folderbrowserdialog

c# - net - Uso de FolderBrowserDialog en un dispositivo extraíble/almacenamiento extraíble



use folderbrowserdialog c# (3)

¿Hay alguna forma de asignar la ruta de la cámara a una letra de unidad? (Estoy pensando en algo como "subst" o "net use" desde un símbolo del sistema.) ¿Quizás eso engañaría a FolderBrowserDialog para que se comporte como se desea?

Estoy trabajando en una herramienta de copia simple para copiar archivos de cámaras digitales. He escrito el código de copia del archivo, tengo todo conectado muy bien.

El problema que tengo parece ser con el FolderBrowserDialog. En Vista (aún no he comprobado XP), puedo buscar los directorios en la cámara. Sin embargo, el FolderBrowserDialog no me permite seleccionar un directorio en la cámara. El botón Aceptar está atenuado.

Mirando la ruta de los archivos en la cámara se ve así:

Computer/[Camera Name]/Removable storage/AnotherDirectory/

Como esta no es una ruta válida (intead de C: / whatever), supongo que a FolderBrowserDialog no le gusta esto.

Funciona bien desde un nombre de ruta válido, pero no desde la cámara ...

¿Alguien tiene alguna sugerencia para evitar esto?

Actualizar

Para confirmar la pregunta de Oefe, la ruta se muestra como:

Computer/[Camera Name]/Removable storage/AnotherDirectory/

La sugerencia de ChulioMartinez de usar SHBrowseForFolder funciona, y marcaré como la respuesta correcta. Gracias por su ayuda Chulio.


Supongo que la ubicación no tiene una representación (ruta) del sistema de archivos, como c: ... / my camera.

Debería poder obtener el PIDL de la carpeta (debe ser uno de los indicadores de la función) e implementar la copia utilizando las interfaces del shell COM.

SHBrowseForFolder

Usando PIDL para enumerar una carpeta


¿De dónde sacaste el camino? Desde la barra de direcciones en Explorer? Esto no muestra la ruta del sistema de archivos, sino una representación de "fácil de usar".

Para obtener la ruta, haga clic con el botón derecho en la barra de direcciones y seleccione "Copiar dirección como texto" o "Editar dirección".