Acrobat Readerのバージョンは?

解決


たくまま  2004-10-05 23:18:15  No: 85904

Acrobat Readerのバージョンを知りたいのですが
どのように取得できるのかわかりません。

環境:
Windows2000
VB6.0
AcrobatReader5.0

また存在チェックで
AcrobatReader5.0がインストールされている場合に
Set obj= CreateObject("PDF.PdfCtrl.5")
とやろうとすると
「AcriveXコンポーネントはオブジェクトを作成できません」
といわれてしまうのはどの設定が必要なのでしょうか?

基本的なことだとおもうのですがわかりません。
お力を貸してください。


よし  2004-10-05 23:34:56  No: 85905

もし、EXEのバージョンを調べるだけだったら
GetFileVersionInfoを使えば出来ると思います。


たくまま  2004-10-06 00:40:52  No: 85906

よし さん
すばやいお返事ありがとうございました。

>GetFileVersionInfoを使えば出来ると思います。
確かにバージョンを確認できました。

恥ずかしながら存在チェックについては
"5"と指定しないでいたのでエラーになってました(汗)

さらに質問なのですが
CreateObjectだとパスの指定が不要なのですが
APIだとEXEのフルパスの指定が必要になりますよね?

EXEの場所が可変なのでフルパスの指定は避けたいかと・・・・
ほかになにか方法はありませんでしょうか?


よし  2004-10-06 04:22:02  No: 85907

ちょっと自分のPCでしか調べていませんが
もし固定のアプリ(今回の場合AcrobatReader)でしたら
レジストリを調べるのも手だと思います。
ちなみに自分の環境では(バージョン4.0)ですが
HKEY_CURRENT_USER
 └Software
    └Adobe
       └Acrobat Reader
          └4.0
             └InstallPath
の中にexeのフルパスが入っていました。
そのパスを取得しGetFileVersionInfoを使えば
出来るのではないでしょうか。


たくまま  2004-10-13 21:13:22  No: 85908

返事が遅くなりすいません

レジストリエディタでは確認できました。

コードよりGetSetting関数を使用してレジストリの取得を
試みたのですが第3引数になる[Key]が(標準)となっていた場合、
何を渡せばよいのでしょうか?

文字列= GetSetting("Adobe", "InstallPath", ???)


よし  2004-10-16 04:39:44  No: 85909

とりあえず自分の環境では下のソースで
パスが取得できました。
いろんなバージョンやいろんなインストール先の
環境が無いのでなんともいえませんが、
レジストリのキーの指定を
5.0とかいろいろ変えてみるとかして
汎用的になるようにしてはいかがでしょうか

Dim KeyName As String
Dim lngHandle As Long
Dim ValueName As String
Dim strValue As String * 1024
Dim lngLength As Long
Dim lngResult As Long

KeyName = "Software\Adobe\Acrobat Reader\4.0\InstallPath"
ValueName = ""
lngResult = RegOpenKeyEx(HKEY_CURRENT_USER, KeyName, 0, _
            KEY_QUERY_VALUE, lngHandle)
lngLength = Len(strValue)
lngResult = RegQueryValueEx(lngHandle, ValueName, _
            ByVal 0, ByVal 0, ByVal strValue, lngLength)
Label1.Caption = Left(strValue, InStr(strValue, vbNullChar) - 1)
lngResult = RegCloseKey(lngHandle)


たくまま  2004-10-29 02:19:03  No: 85910

返事が遅くなってしまってすいません。

>レジストリのキーの指定を
>5.0とかいろいろ変えてみるとかして
>汎用的になるようにしてはいかがでしょうか
まちがってたらごめんなさい。
バージョンがUPするごとに
EXEを修正しないといけないですよね?
レジストリでは対応が難しそうです。

ありがとうございました。
とても勉強になりました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加