皆様、教えてください。
複数のクライアントがあり各々のクライアントにインストールされている
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
ShellExecuteの3パラメータ目をpdfファイル名にしてみましょう。
基本的にMADさんの回答の通り、拡張子による関連付けでPDFファイルを開かせるのが望ましいのですが、
もし(Acrobat)Readerのフルパス名がどうしても必要であれば、レジストリの
HKEY_CLASSES_ROOT\Software\Adobe\Acrobat\Exe
を見るという方法があります。
MADさん、通りすがりさん、ご回答ありがとうございました。
お陰様で無事に関連付けPDFファイルが開けるようになりました。
ツイート | ![]() |