IFileOpenDialog da el error "La ubicación no está disponible" y no puede cargar las bibliotecas de usuario en Windows 7
Frecuentes
Visto 338 veces
0
Experimentando el mismo problema que este: Problema de CoCreateInstance en Windows 7 {Básicamente, el uso de IFileOpenDialog a veces da el error: "La ubicación no está disponible" "C:\Windows\system32\config\systemprofile\Desktop se refiere a una ubicación que no está disponible". El usuario puede continuar después de que aparezca este mensaje, pero las bibliotecas no muestran el contenido correctamente y es bastante molesto.}
El código se llama en una aplicación MFC que se ejecuta con permisos de usuario, pero el problema solo ocurre de manera intermitente en al menos 3 sistemas de prueba.
Aquí está el código para la creación del diálogo y mostrarlo:
IFileOpenDialog *pFileOpen = NULL;
HRESULT hr = CoCreateInstance(__uuidof(FileOpenDialog), NULL,
CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pFileOpen));
if (SUCCEEDED(hr))
{
DWORD dwFlags = 0;
pFileOpen->GetOptions ( &dwFlags );
pFileOpen->SetOptions ( dwFlags | FOS_ALLOWMULTISELECT | FOS_PATHMUSTEXIST | FOS_FORCEFILESYSTEM );
pFileOpen->SetTitle ( L"Select file for upload" );
hr = pFileOpen->Show(this->GetSafeHwnd());
//everything after this for retrieving files selected works fine.
0 Respuestas
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas visual-c++ windows-7 or haz tu propia pregunta.
Es el mismo problema. E igual de incontestable. - Hans Passant
Sí, desafortunadamente necesito encontrar una manera de detenerlo, así que espero que alguien tenga una respuesta. La otra posibilidad en la que estoy pensando es usar el indicador FOS_HIDEPINNEDPLACES y luego agregar manualmente algunos accesos directos a C:, red, la carpeta de usuarios, etc. y esperar que elimine el problema. - user1624989