AsuYuHomepage
トップページ サイトの説明 子供の成長記録 JM BAR Delphi リンク集
Home>>プログラミング>>Tips&Tricks>>関連付けられている実行ファイルを調べる
Delphi Tips
Delphi Win32API
ダウンロード

Delphi Tips & Tricks

関連付けられている実行ファイルを調べる

 ShellExecute関数の反対でファイル名から、その拡張子に関連つけられている実行ファイル名を取得します。
uses ShellAPI;
-------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var
  Fname :array [0..MAX_PATH-1] of Char;
begin
  if Opendialog1.Execute then
  begin
     FindExecutable(PChar(Opendialog1.FileName), nil, Fname);
     ShowMessage('関連つけられているプログラムは' +#10#13+ Fname);    
  end;
end;

function FindExecutable(FileName, Directory: PChar;
                         Result: PChar): HINST; stdcall;                         
 FindExecutable関数を使用します。第1引数は実存するファイル名を指定、第二引数はとりあえずnilで第3引数は実行ファイル名を受け取るバッファを指定します。
 今回はChar型のMAX_PATH分配列変数Fnameに取得したファイル名を表示しています。
 MAX_PATHとは定数でファイル名が取りうる最大値を示しています。