DECLARE INTEGER SHGetFolderPath IN SHFOLDER.DLL ; INTEGER hwndOwner, ; INTEGER nFolder, ; INTEGER hToken, ; INTEGER dwFlags, ; STRING @ pszPath #DEFINE CSIDL_PROGRAM_FILES 38 lcPath = REPL(CHR(0),261) SHGetFolderPath(_SCREEN.Hwnd, CSIDL_PROGRAM_FILES, 0, 0, @lcPath) ? LEFT(lcPath,AT(CHR(0),lcPath)-1)BTW: Basically taken from SHGetFolderPath API #12735 plus the constant not provided there. Additionally I've changed the method of retrieving the VFP window handle. Please note the comments in the article regarding the availability of the shfolder.dll on different Windows versions.