8 de abril de 2014

Ubicacion de la carpeta System32, Font, y Programs File

Este codigo permite saber la ubicacion fisica de las carpetas System32, Font, y Programs File.

**** LLevado De VISUAL Basic a lenguaje FOXPRO por In_21
#DEFINE CSIDL_FONTS 20 && Carpeta de Fuentes
#DEFINE CSIDL_PROGRAM_FILES 0x0026 && Carpeta de Programas
#DEFINE CSIDL_SYSTEM 37&& Carpeta de Sistema, System32
* La Api
DECLARE INTEGER SHGetSpecialFolderPath IN shell32.DLL ;
   LONG HWND , STRING @sPath ,LONG Folder
#DEFINE MAX_PATH 255 && Maximo de caracteres del Buffer

LOCAL strLocation,La_Ruta
* Inicializacion
strLocation = ""
La_Ruta = ""
* Aqui determinas cual de las carpetas quieres buscar, 
*   en este caso buscamos la carpeta para programas
lngCSIDL = CSIDL_PROGRAM_FILES 
* Rellenamos la variable con el maximo de espacios (255)
strLocation = SPACE(MAX_PATH) 
* Llamada a la API de Windows, pasando la varibale strLocation por valor
La_Ruta = ObtenerCarpetaEspecial(@strLocation, lngCSIDL) 

* A pantalla para saber la ruta
MESSAGEBOX(La_Ruta) 

FUNCTION ObtenerCarpetaEspecial()
  PARAMETERS strParamLocation, lngParamCSIDL
  LOCAL La_Carpeta
  =SHGetSpecialFolderPath(0, @strParamLocation, lngParamCSIDL)
  *  Quitarle el caracter de Nulo al final
  La_Carpeta = SUBSTR(RTRIM(strParamLocation),1,LEN(RTRIM(strParamLocation))-1)
  RETURN La_Carpeta
ENDFUNC

No hay comentarios. :

Publicar un comentario