Как зная расширение файла получить его описание. Например для txt надо получить строку "текстовый документ", для bmp — "точечный рисунок"? (С++ или С# (лучше С#))
02.04.04 09:39: Перенесено модератором из 'C/C++' — WH
Здравствуйте, Кока, Вы писали:
К>Как зная расширение файла получить его описание. Например для txt надо получить строку "текстовый документ", для bmp — "точечный рисунок"? (С++ или С# (лучше С#))
Если "лучше C#" то ошибка форумом.
Если С++ , то тоже ошибка форумом.
Здравствуйте, Кока, Вы писали:
К>Как зная расширение файла получить его описание. Например для txt надо получить строку "текстовый документ", для bmp — "точечный рисунок"? (С++ или С# (лучше С#))
Прочитать из системного реестра.
1.HKCR\.ext — читаем значение по умолчанию (безымянное значение), это будет имя_типа
2. HKCR\имя_типа — опять читаем значение по умолчанию, это и будет желаемая строка.
Здравствуйте, SchweinDeBurg, Вы писали:
К>>Прочитать из системного реестра.
К>>1.HKCR\.ext — читаем значение по умолчанию (безымянное значение), это будет имя_типа
К>>2. HKCR\имя_типа — опять читаем значение по умолчанию, это и будет желаемая строка.
К>>RegOpenKey()/RegQueryValue()/RegCloseKey()
К>>P.S. К>>Такие вопросы лучше в WinAPI задавать.
Честно говоря так и думал, что искать надо где-то в том направлении, но когда посмотрел, то у меня значение по умолчанию для ветки txtfile — TextDocument, подумал, что надо доставать по другому. В конце концов выяснилось, что там значение TextDocument, а не Текстовый документ, потому, что у меня стоит Windows 2003 Server английский, переведённый MUI. В проводнике для txt файлов пишется — Текстовый документ (на русском). Отсюда вопрос — где искать в таком случае? Может кто знает?
Здравствуйте, _nn_, Вы писали:
К>>Если "лучше C#" то ошибка форумом. К>>Если С++ , то тоже ошибка форумом.
К>>Определитесь
Что значит "Если С++ , то тоже ошибка форумом?" Это вроде и есть тема С/С++, темы C# я здесь не наблюдаю, можно было бы конечно в .NET, но по-моему последняя тема предполагает более обширные вопросы, а у меня он вроде бы конкретный.
Здравствуйте, Кока, Вы писали:
К>Здравствуйте, _nn_, Вы писали:
К>>>Если "лучше C#" то ошибка форумом. К>>>Если С++ , то тоже ошибка форумом.
К>>>Определитесь
К>Что значит "Если С++ , то тоже ошибка форумом?" Это вроде и есть тема С/С++, темы C# я здесь не наблюдаю, можно было бы конечно в .NET, но по-моему последняя тема предполагает более обширные вопросы, а у меня он вроде бы конкретный.
В форуме ,NET все вопросы касающиеся .NET и не важно , что эта тема обширна.
В форуме С++.спрашиваются платформонезависимые вопросы касающиеся самого языка, следовательно если нужно было WinAPI то писать надо было в соответствующий форум.
Здравствуйте, Кока, Вы писали:
К>Честно говоря так и думал, что искать надо где-то в том направлении, но когда посмотрел, то у меня значение по умолчанию для ветки txtfile — TextDocument, подумал, что надо доставать по другому. В конце концов выяснилось, что там значение TextDocument, а не Текстовый документ, потому, что у меня стоит Windows 2003 Server английский, переведённый MUI. В проводнике для txt файлов пишется — Текстовый документ (на русском). Отсюда вопрос — где искать в таком случае? Может кто знает?
SHGetFileInfo. Строчка извлекается из поля szTypeName структуры SHFILEINFO.
Здравствуйте, Кока, Вы писали:
К>Как зная расширение файла получить его описание. Например для txt надо получить строку "текстовый документ", для bmp — "точечный рисунок"? (С++ или С# (лучше С#))
Здравствуйте, Alex Fedotov, Вы писали:
AF>Здравствуйте, Кока, Вы писали:
К>>Честно говоря так и думал, что искать надо где-то в том направлении, но когда посмотрел, то у меня значение по умолчанию для ветки txtfile — TextDocument, подумал, что надо доставать по другому. В конце концов выяснилось, что там значение TextDocument, а не Текстовый документ, потому, что у меня стоит Windows 2003 Server английский, переведённый MUI. В проводнике для txt файлов пишется — Текстовый документ (на русском). Отсюда вопрос — где искать в таком случае? Может кто знает?
AF>SHGetFileInfo. Строчка извлекается из поля szTypeName структуры SHFILEINFO.
Здравствуйте, Alex Fedotov, Вы писали:
K>>SHGetFileInfo. Строчка извлекается из поля szTypeName структуры SHFILEINFO.
При попытке вывести строку szTypeName вылетает исключение: "Object reference not set to an instance of an object". Пишу на C#. С импортом функции и структуры всё нормально. Иконки через неё достаются, а вот тип файла не хочет.
Может есть какие-то мысли по этому поводу.
Здравствуйте, Кока, Вы писали:
К>Здравствуйте, Alex Fedotov, Вы писали:
K>>>SHGetFileInfo. Строчка извлекается из поля szTypeName структуры SHFILEINFO.
К>При попытке вывести строку szTypeName вылетает исключение: "Object reference not set to an instance of an object". Пишу на C#. С импортом функции и структуры всё нормально. Иконки через неё достаются, а вот тип файла не хочет. К>Может есть какие-то мысли по этому поводу.
В качестве флага для SHGetFileInfo указываете SHGFI_TYPENAME?