pdfファイルをオープンについて

解決


しんちゃん  2016-05-10 15:58:41  No: 48175  IP: 192.*.*.*

皆様、教えてください。

複数のクライアントがあり各々のクライアントにインストールされている
Acrobat Readerはバージョンが異なっています。
pdfファイルをオープンするプログラムを作りたいのですが
このような環境では以下のようなpdfをオープンするexeを指定すると
exeが指定の場所にあるクライアントはオープンできますが
違う場所にあるクライアントではオープンできず困っています。
なにか良い方法はあるのでしょうか。

procedure TfrmTest.Button1Click(Sender: TObject);
var
  strExec : string;
begin
  strExec := 'Sample.pdf';

  ShellExecute(Handle, 'OPEN', 
  'C:\Program Files (x86)\Adobe\
  Acrobat11.0\AcrobatAcrobat.exe',Pchar(strExec), 'W:', SW_SHOW);
end;


【環境】
Windows 8.1 Pro 64bit
Delphi XE5 Enterprise

編集 削除
MAD  URL  2016-05-10 17:02:30  No: 48176  IP: 192.*.*.*

ShellExecuteの3パラメータ目をpdfファイル名にしてみましょう。

編集 削除
通りすがり  2016-05-10 19:11:32  No: 48177  IP: 192.*.*.*

基本的にMADさんの回答の通り、拡張子による関連付けでPDFファイルを開かせるのが望ましいのですが、
もし(Acrobat)Readerのフルパス名がどうしても必要であれば、レジストリの
HKEY_CLASSES_ROOT\Software\Adobe\Acrobat\Exe
を見るという方法があります。

編集 削除
しんちゃん  2016-05-14 16:18:50  No: 48178  IP: 192.*.*.*

MADさん、通りすがりさん、ご回答ありがとうございました。
お陰様で無事に関連付けPDFファイルが開けるようになりました。

編集 削除