Programación General > Visual C++

 Crear Un Directorio En "program Files"

(1/1)

diego.martinez:
Buenas:

Teniendo en cuenta que Archivos de Programa puede llamarse Program Files u otras cosas como puedo asegurarme de crear un directorio en el equivalente de Archivos de Programa del usuario?

he probado con CreateDirectory("%ProgramFiles%/Prueba",0);

y no ha funcionado, alguna idea?

daltomi:
Modo de prueba:

--- Código: Text ---         LPMALLOC lpMalloc;  LPITEMIDLIST lpiDir;  LPSTR lpBuffer;   if(!SUCCEEDED(SHGetMalloc(&lpMalloc)))  {    return 1;  }  lpBuffer = (LPSTR)lpMalloc->Alloc(MAX_PATH);  if(lpBuffer == NULL)  {    lpMalloc->Release();    return 1;  };   if(!SUCCEEDED(SHGetSpecialFolderLocation(NULL,CSIDL_APPLICATION,&lpiDir)))  {    lpMalloc->Free(lpBuffer);    lpMalloc->Release();    return 1;  }   if(!SHGetPathFromIDList(lpiDir,lpBuffer))  {    lpMalloc->Free(lpiDir);     lpMalloc->Free(lpBuffer);    lpMalloc->Release();    return 1;  }    lpMalloc->Free(lpiDir);     lpMalloc->Free(lpBuffer);    lpMalloc->Release();  El la documentación de ShellApi no especifica el identificador para la carpeta Archivos de Programa, en ducumentaciones viejas seria 0x0024, pero no funcionó en mi plataforma, con 0x0026 funcionó correctamente:

--- Código: Text --- #define CSIDL_APPLICATION 0x0026  El archivo de inclusión es:

--- Código: Text --- #include <shlobj.h>  

diego.martinez:
gracias, tiene muy buena pinta!

Navegación

[0] Índice de Mensajes

Ir a la versión completa