Há um aplicativo associado a uma determinada extensão?

Às vezes, é desejável que seu aplicativo abra o aplicativo padrão de um arquivo. Por exemplo, para abrir um arquivo PDF, você pode usar:

System.Diagnostics.Process.Start("Filename.pdf");


Para abrir uma imagem, basta usar o mesmo código com um nome de arquivo diferente:

System.Diagnostics.Process.Start("Filename.gif");


lgumas extensões (.gif por exemplo) sempre têm um manipulador padrão, mesmo em uma instalação básica do Windows. No entanto, algumas extensões (.pdf, por exemplo) geralmente não têm um aplicativo instalado para lidar com ela

Nestes casos, seria desejável determinar se um aplicativo está associado à extensão do arquivo que você deseja abrir antes de fazer a chamada para Process.Start (fileName

Estou imaginando como você pode implementar algo mais ou menos assim:

static bool ApplicationAssociated(string extension)
{
    var extensionHasAssociatedApplication = false;

    var condition = // Determine if there is an application installed that is associated with the provided file extension.;
    if (condition)
    {
        extensionHasAssociatedApplication = true;
    }

    return extensionHasAssociatedApplication;
}

questionAnswers(12)

yourAnswerToTheQuestion