Программа ассоциированная с расширением файла
От: -Cheese-  
Дата: 25.07.08 12:11
Оценка:
Всем привет.

Т.е. нужно, например, найти для doc -> winword (ну или у кого что там установлено)
Нужно получить иконку программы для данного файла, как при просмотре файла через эксплорер...
Куда смотреть, вызывать?
... << RSDN@Home 1.2.0 alpha 4 rev. 1092>>
Re: Программа ассоциированная с расширением файла
От: _FRED_ Черногория
Дата: 25.07.08 12:50
Оценка:
Здравствуйте, -Cheese-, Вы писали:

C>Т.е. нужно, например, найти для doc -> winword (ну или у кого что там установлено)

C>Нужно получить иконку программы для данного файла, как при просмотре файла через эксплорер...
C>Куда смотреть, вызывать?

Программа смотрится в одном месте, иконка — в другом. Что конкретно надо?
Иконку можно получить с помощью Icon.ExtractAssociatedIcon.
... << RSDN@Home 1 alpha 3 rev. 0>>
Help will always be given at Hogwarts to those who ask for it.
Re[2]: Программа ассоциированная с расширением файла
От: Pavel_Agurov Россия  
Дата: 25.07.08 13:17
Оценка:
_FR>Программа смотрится в одном месте


using System;
using Microsoft.Win32;

namespace FileTypeByExt
{
  class Class1
  {
    [STAThread]
    static void Main(string[] args)
    {
      // Тип (content) по-умолчанию
      const string DEFAULT_CONTENT_TYPE = "application/unknown";

      string  fileContentType;

      // Расширение файла
      string fileExtension = ".jpeg";

      try 
      {
        // Ищем в реестре вертку, соответствующую расширению
        RegistryKey fileextkey =
                   Registry.ClassesRoot.OpenSubKey(fileExtension);
        // Получаем тип
        fileContentType = fileextkey.GetValue("Content Type",
                        DEFAULT_CONTENT_TYPE).ToString();
      }
      catch (Exception e)
      {
        fileContentType = DEFAULT_CONTENT_TYPE;
        Console.WriteLine(e.Message);
      }
            
      Console.WriteLine(fileContentType);
    }
  }
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.