I have some functions that i use for getting and setting PDF files, you can try these:
FUNCTION NTKernel
Declare Long GetVersion in WIN32API
RETURN (GetVersion() > 0)
***********************************************************************************
FUNCTION PDFIni
Declare Long GetVersion in WIN32API
LOCAL strReturn
IF NTKernel() THEN
DO CASE
CASE FILE("C:\WINNT\SYSTEM32\SPOOL\DRIVERS\W32x86\2\PDFDD.dll"

strReturn = "C:\WINNT\SYSTEM32\SPOOL\DRIVERS\W32x86\2\__pdf.ini"
CASE FILE("C:\WINDOWS\SYSTEM32\SPOOL\DRIVERS\W32x86\2\PDFDD.dll"

strReturn = "C:\WINDOWS\SYSTEM32\SPOOL\DRIVERS\W32x86\2\__pdf.ini"
ENDCASE
ELSE
strReturn = "C:\WINDOWS\SYSTEM\PDFWRITR.INI"
ENDIF
RETURN (strReturn)
***********************************************************************************
FUNCTION GetPDFFile
LOCAL RTVL, strPDFFileName,strINITemp
Declare Long GetPrivateProfileStringA in WIN32API String lpSection, String lpSetting, ;
String lpDefault, String @ lpReturnedString, Long nSize, String lpFileName
strPDFFileName = SPACE(255)
strINITemp = IIF(NTKernel(),PDFIni(),"C:\WINDOWS\WIN.INI"

rtvl = GetPrivateProfileStringA("Acrobat PDFWriter", "PDFFileName", "", @strPDFFileName, ;
255, StrINITemp)
IF RTVL > 0 .AND. !EMPTY(strPDFFileName)
IF CHR(0) $ strPDFFileName
strPDFFileName = LEFT(strPDFFileName, AT(CHR(0), strPDFFileName)-1)
ENDIF
ENDIF
IF CHR(0) $ strPDFFileName
strPDFFileName = LEFT(strPDFFileName, AT(CHR(0), strPDFFileName)-1)
ENDIF
Clear DLLs
RETURN strPDFFileName
***********************************************************************************
FUNCTION SetPDFFile
LPARAMETERS strPDFFile
Declare Long WritePrivateProfileStringA in WIN32API AS SetPrivateProfileString ;
String lpSection, String lpSetting, String lpValue, String lpFileName
rtvl = SetPrivateProfileString("Acrobat PDFWriter", "PDFFileName", strPDFFile, ;
PDFIni())
Clear DLLs
RETURN RTVL
Enjoy,
Art