Fa چک کردن نصب بودن برنامه Adobe Acrobat

mortezae

Member
چطور میشه چک کرد که Adobe Reader نصب شده یا نه؟

  • اگر نصب شده بگیم PDF با Adobe Acrobat باز بشه.
  • اگر نصب نیست بگیم با Foxit Reader موجود در DVD باز بشه.
 

loo30fer

کاربر متخصص مولتی مدیا بیلدر
دوست عزیز بهترین راه چک کردن از طریق رجیستری هست که با کمک SmallPlugin میتونید یکی از کلیدهای ریجیستری Adobe Acrobat رو بگیرین و چک کنید
 

loo30fer

کاربر متخصص مولتی مدیا بیلدر
میتونید از این آدرس چکش کنید که برای ورژن های مختلفم فرقی نمیکنه
کد:
HKEY_CLASSES_ROOT\PDXFileType\shell\Read\command
ضمنا یک راه دیگه هم که دارین Foxit Reader Portable داخل سی دی بذارین و فایل های PDF رو با اون باز کنید
 

mortezae

Member
میتونید از این آدرس چکش کنید که برای ورژن های مختلفم فرقی نمیکنه
کد:
HKEY_CLASSES_ROOT\PDXFileType\shell\Read\command
ضمنا یک راه دیگه هم که دارین Foxit Reader Portable داخل سی دی بذارین و فایل های PDF رو با اون باز کنید
همین کار رو کردم، اما ترجیح میدم اگه Acrobat نصب داره یوزر، با اون اجرا بشه.
اون پلاگین رو از کجا بگیرم و که آموزش هم باشه که چطور میشه ازش استفاده کرد؟
مثالی در این مورد دارید؟
 

mortezae

Member
فکر کردم باید بعد از <Embedded> کردن پلاگین SmallPlugin.dll با نام PlugIn دستورات زیر را نوشت.

کد:
 Path$='HKEY_CLASSES_ROOT\PDXFileType\shell\Read\command,(Default)'
 PluginSet("PlugIn","Path$")
 PluginRun("PlugIn","SetRegistryPath")
 PluginRun("PlugIn","RegistryRead")
 PluginGet("PlugIn","RetVal$")
 If (RetVal$ <> '')
    Run("RetVal$","PdfAddress$")
 ELSE
    Run("<SrcDir>\PdfReader\Foxit_Reader.exe","PdfAddress$")
 End
ولی متاسفانه کار نکرد و مقدار RetVal$ را خالی بر میگرداند.
لطفا راهنمایی کنید.
_______________________
در کامپیوتر من (Default) همچین مقداری داشت
کد:
 "C:\Program Files\Adobe\Reader 10.0\Reader\AcroRd32.exe" "%1"
 
آخرین ویرایش:

loo30fer

کاربر متخصص مولتی مدیا بیلدر
چون برای کلیدهای (Default) باید اسم خالی رو برای پلاگین تعریف کنید همینطورم برای برنامه های دیگه مانند نمونه :
کد:
Path$='HKEY_CLASSES_ROOT\PDXFileType\shell\Read\command,'
PluginSet("PlugIn","Path$")
PluginRun("PlugIn","SetRegistryPath")
PluginRun("PlugIn","RegistryRead")
PluginGet("PlugIn","RetVal$")
If (RetVal$ <> '') Then
  Run("RetVal$","PdfAddress$")
Else
  Run("<SrcDir>\PdfReader\Foxit_Reader.exe","PdfAddress$")
End
 

mortezae

Member
باز هم صفر بر میگردونه
شما امتحان کردید برای خودتون جواب داد؟
 

mortezae

Member
بله تست کردم , یک نمونه براتون پیوست کردم این رو امتحان کنید
مشاهده پیوست 51208
خیلی خیلی ممنون
متاسفانه من مرحله مرحله مزاحم شما شدم.
الان درست آدرس رو به من میده اما دستور Run با اشکال مواجه میشه و اجرا نمیشه.
ظاهرا اشکال از %1 آخرش هست.
"C:\Program Files\Adobe\Reader 10.0\Reader\AcroRd32.exe" "%1"


کد:
 PdfAddress$='C:\13.pdf'
 Path$='HKEY_CLASSES_ROOT\PDXFileType\shell\Read\command,'
 PluginSet("PlugIn","Path$")
 PluginRun("PlugIn","SetRegistryPath")
 PluginRun("PlugIn","RegistryRead")
 PluginGet("PlugIn","RetVal$")
 If (RetVal$ <> '') Then
    MessageEx("","RetVal$")
    Run("RetVal$","PdfAddress$")
 Else
    Message("Foxit","Foxit")
    Run("<SrcDir>\PdfReader\Foxit_Reader.exe","PdfAddress$")
 End
 

loo30fer

کاربر متخصص مولتی مدیا بیلدر
خواهش میکنم این چه حرفیه
کدتون رو به این تغییر بدین :

کد:
PdfAddress$='C:\13.pdf'
Path$='HKEY_CLASSES_ROOT\PDXFileType\shell\Read\command,'
PluginSet("PlugIn","Path$")
PluginRun("PlugIn","SetRegistryPath")
PluginRun("PlugIn","RegistryRead")
PluginGet("PlugIn","RetVal$")
If (RetVal$ <> '') Then
  LEN = LEN(RetVal$)
  LEN = LEN - 7
  RetVal$ = StrCopy(RetVal$,2,LEN)
  Run("RetVal$","PdfAddress$")
Else
  Message("Foxit","Foxit")
  Run("<SrcDir>\PdfReader\Foxit_Reader.exe","PdfAddress$")
End
 
آخرین ویرایش:

mortezae

Member
خواهش میکنم این چه حرفیه
کدتون رو به این تغییر بدین :

کد:
PdfAddress$='C:\13.pdf'
Path$='HKEY_CLASSES_ROOT\PDXFileType\shell\Read\command,'
PluginSet("PlugIn","Path$")
PluginRun("PlugIn","SetRegistryPath")
PluginRun("PlugIn","RegistryRead")
PluginGet("PlugIn","RetVal$")
If (RetVal$ <> '') Then
  LEN = LEN(RetVal$)
  LEN = LEN - 7
  RetVal$ = StrCopy(RetVal$,2,LEN)
  Run("RetVal$","PdfAddress$")
Else
  Message("Foxit","Foxit")
  Run("<SrcDir>\PdfReader\Foxit_Reader.exe","PdfAddress$")
End
ممنون، کار کرد.
ولی ممکنه اون رشته در ورژن های مختلف Adobe یا ویندوز متفاوت باشه و در جدا کردن اون آدرس از کله رشته برنامه دچار مشکل بشه در بعضی کامپیوتر ها؟
مثلا به جای 1% با 12% یا تغییراتی شبیه با این که طول رو تغییر میدن.
 

loo30fer

کاربر متخصص مولتی مدیا بیلدر
نه دوست عزیز چون من ورژن 9 Adobe رو روی سیستمم دارم و باز همین شکل آدرس دهی شده :
کد:
"C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe" "%1"
 
آخرین ویرایش:

mortezae

Member
برای مهکم کاری یک چک دیگه اضافه کردم

کد:
 Path$='HKEY_CLASSES_ROOT\PDXFileType\shell\Read\command,'
PluginSet("PlugIn","Path$")
PluginRun("PlugIn","SetRegistryPath")
PluginRun("PlugIn","RegistryRead")
PluginGet("PlugIn","RetVal$")
LEN = LEN(RetVal$)
LEN = LEN - 7
RetVal$ = StrCopy(RetVal$,2,LEN)
FileExist("RetVal$","bFile")
If (bFile) Then
  Run("RetVal$","PdfAddress$")
Else
  Run("<SrcDir>\PdfReader\Foxit_Reader.exe","PdfAddress$")
End

ممنون از کمک جناب loo30fer
 

جدیدترین ارسال ها

بالا