/* GetDir.p dps 02/23/07 */ PROCEDURE SHBrowseForFolder EXTERNAL "shell32.dll": DEFINE INPUT PARAMETER mPoint AS MEMPTR. DEFINE RETURN PARAMETER lRet AS LONG. END PROCEDURE. PROCEDURE SHGetPathFromIDList EXTERNAL "shell32.dll": DEFINE INPUT PARAMETER mPoint AS LONG. DEFINE INPUT-OUTPUT PARAMETER cVar AS CHARACTER. DEFINE RETURN PARAMETER lRet AS LONG. END PROCEDURE. DEFINE VARIABLE mPoint AS MEMPTR NO-UNDO. DEFINE VARIABLE iRet AS INTEGER NO-UNDO. DEFINE VARIABLE vOutDir AS CHARACTER NO-UNDO. ASSIGN SET-SIZE(mPoint) = 1000 vOutDir = FILL(" ",255). RUN SHBrowseForFolder(mPoint,OUTPUT iRet). RUN SHGetPathFromIDList(iRet,INPUT-OUTPUT vOutdir,OUTPUT iRet). SET-SIZE(mPoint) = 0. MESSAGE vOutDir VIEW-AS ALERT-BOX. /* end of program */