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

解決


しんちゃん  2016-05-11 00:58:41  No: 48175

皆様、教えてください。

複数のクライアントがあり各々のクライアントにインストールされている
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-11 02:02:30  No: 48176

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


通りすがり  2016-05-11 04:11:32  No: 48177

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


しんちゃん  2016-05-15 01:18:50  No: 48178

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


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

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






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