Иногда желательно, чтобы ваше приложение открыло приложение по умолчанию для файла. Например, чтобы открыть файл PDF можно использовать:Является ли приложение связанным с данным расширением?
System.Diagnostics.Process.Start("Filename.pdf");
Чтобы открыть изображение, вы бы просто использовать один и тот же код с другим именем:
System.Diagnostics.Process.Start("Filename.gif");
Некоторые расширения (например, gif), почти всегда имеет обработчик по умолчанию, даже при базовой установке Windows. Однако некоторые расширения (например, .pdf) часто не имеют приложения для их обработки.
В этих случаях было бы желательно определить, связано ли приложение с расширением файла, который вы хотите открыть, прежде чем выполнить вызов Process.Start (имя_файла).
мне интересно, как вы могли бы наилучшим образом реализовать что-то вроде этого:
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;
}
Это где-то в редакторе реестра. Вместе с обработчиками для магнита :, mailto :, call: схемы и т. Д. Это почти в корне, если я правильно помню – f2lollpll