Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Listado de archivos

Estas en el tema de Listado de archivos en el foro de C/C++ en Foros del Web. Hola amigos del foro, mil exitos para todos. estoy haciendo un aplicativo en visual c++ 2005 express y necesito obtener la lista de los archivos ...
  #1 (permalink)  
Antiguo 05/03/2010, 11:20
 
Fecha de Ingreso: marzo-2010
Mensajes: 3
Antigüedad: 14 años, 1 mes
Puntos: 0
Listado de archivos

Hola amigos del foro, mil exitos para todos.
estoy haciendo un aplicativo en visual c++ 2005 express y necesito obtener la lista de los archivos que se marquen dentro de un directorio cualquiera, no la lista de todos los archivos de ese directorio sino solo de los que esten marcados, he buscado por todos lados y no encuentro nada que me oriente, agradeceria enormemente cualquier ayuda que me pudieran brindar.
  #2 (permalink)  
Antiguo 09/03/2010, 02:32
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Listado de archivos

¿Estas usando GetOpenFileName?
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 10/03/2010, 10:14
 
Fecha de Ingreso: marzo-2010
Mensajes: 3
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Listado de archivos

mil gracias, pero no la verdad no estoy utilizando GetOpenFileName, lo que quiero es obtener desde mi aplicativo la lista de los archivos que se hayan seleccionado en el explorador de windows, no en los dialogos de mi aplicativo.
Por ahi buscando logre enrrollar esto pillenlo.

private: System::Void RetSelectedFiles()
{
SHDocVw::ShellWindows^ mshell = gcnew SHDocVw::ShellWindows();
String^ fname = "";
String^ flist = "";
SHDocVw::InternetExplorer^ fie;

for each( fie in mshell)
{
fname = Path::GetFileNameWithoutExtension(fie->FullName)->ToLower();
if(fname=="explorer")
{
flist = "";
Shell32::ShellFolderView^ ffolder = static_cast <Shell32::ShellFolderView^>(fie->Document);
Shell32::FolderItems^ fitems = ffolder->SelectedItems();
for(int i = 0; i < fitems->Count; i++)
{
flist = flist + fitems->Item(i)->Path + "\n\r";
}
if(flist!="")
{
MessageBox::Show(flist);
}
}
}
}
para que funcione hay que agregar una referencia a shell32 y SHDocVw
y para el path "using namespace System::IO;"
La verdad no me gusto mucho pero funciona para lo que lo necesito, me da la lista de los archivos seleccionados en todas las ventanas de explorador de windows, ahi le intersecto los argumentos del app para saber en cual se seleccionaron por ultimo cuando se llamo mi app, desecho las demas ventanas y listo.

Última edición por paneilpa; 11/03/2010 a las 15:18

Etiquetas: listado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:43.