Mirror

Determine which application is associated with a specific file name extension (Views: 100)


Problem/Question/Abstract:

Determine which application is associated with a specific file name extension

Answer:

To determine which application is associated with a specific file name extension you can look in the registry under HKEY_CLASSES_ROOT.

Easier is to use the Windows API function FindExecutable() - see the following example. The code shows the fully qualified associated application or the last error (using GetLastError).

program Project1;

uses
  Forms, Dialogs, ShellAPI, SysUtils, Windows;

{$R *.RES}

var
  sApp: array[0..256] of char;
begin
  // this should return something like c:\program files\office\excel.exe

  if FindExecutable('c:\temp\xxx.xls', nil, sApp) >= 32 then
    ShowMessage(sApp)
  else
    ShowMessage(SysErrorMessage(GetLastError));
end.

<< Back to main page