Добавить комментарий

Delphi

Определить приложение, которое ассоциировано с документом

Все приложения, ассоциированные с определёнными расширенияими документов можно посмотреть в реестре, в ветке HKEY_CLASSES_ROOT, но можно использовать и готовую функцию Windows API:

uses 
     Winapi.ShellAPI
    ,Vcl.Dialogs
    ,Winapi.Windows
    ;
var
    app: array[0..MAX_PATH] of char;
    res:integer;
begin
  res := FindExecutable('c:\tmp\beholder.txt', nil, app);
  if res>31 then ShowMessage(app)
            else case res of
              SE_ERR_FNF,
              SE_ERR_PNF,
              SE_ERR_ACCESSDENIED,
              SE_ERR_OOM : ShowMessage(SysErrorMessage(GetLastError));
              SE_ERR_NOASSOC : ShowMessage('Ассоциации не обнаружено.'); 
              else ShowMessage('Неожиданная ошибка: '+SysErrorMessage(GetLastError));
            end;
end;

Метки:

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Допустимые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и абзацы переносятся автоматически.
  • Вы можете цитировать другие сообщения, используя тэг [quote]

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и абзацы переносятся автоматически.