Описание типа файла
От: Кока  
Дата: 01.04.04 18:27
Оценка:
Как зная расширение файла получить его описание. Например для txt надо получить строку "текстовый документ", для bmp — "точечный рисунок"? (С++ или С# (лучше С#))

02.04.04 09:39: Перенесено модератором из 'C/C++' — WH
Re: Описание типа файла
От: _nn_  
Дата: 01.04.04 18:37
Оценка:
Здравствуйте, Кока, Вы писали:

К>Как зная расширение файла получить его описание. Например для txt надо получить строку "текстовый документ", для bmp — "точечный рисунок"? (С++ или С# (лучше С#))


Если "лучше C#" то ошибка форумом.
Если С++ , то тоже ошибка форумом.

Определитесь
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re: Описание типа файла
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 01.04.04 18:42
Оценка:
Здравствуйте, Кока, Вы писали:

К>Как зная расширение файла получить его описание. Например для txt надо получить строку "текстовый документ", для bmp — "точечный рисунок"? (С++ или С# (лучше С#))


Прочитать из системного реестра.

1.HKCR\.ext — читаем значение по умолчанию (безымянное значение), это будет имя_типа

2. HKCR\имя_типа — опять читаем значение по умолчанию, это и будет желаемая строка.

RegOpenKey()/RegQueryValue()/RegCloseKey()

P.S.
Такие вопросы лучше в WinAPI задавать.
<< RSDN@Home 1.1.2 stable >>
- Искренне ваш, Поросенок Пафнутий
Re[2]: Описание типа файла
От: Кока  
Дата: 01.04.04 19:59
Оценка:
Здравствуйте, SchweinDeBurg, Вы писали:

К>>Прочитать из системного реестра.


К>>1.HKCR\.ext — читаем значение по умолчанию (безымянное значение), это будет имя_типа


К>>2. HKCR\имя_типа — опять читаем значение по умолчанию, это и будет желаемая строка.


К>>RegOpenKey()/RegQueryValue()/RegCloseKey()


К>>P.S.

К>>Такие вопросы лучше в WinAPI задавать.

Честно говоря так и думал, что искать надо где-то в том направлении, но когда посмотрел, то у меня значение по умолчанию для ветки txtfile — TextDocument, подумал, что надо доставать по другому. В конце концов выяснилось, что там значение TextDocument, а не Текстовый документ, потому, что у меня стоит Windows 2003 Server английский, переведённый MUI. В проводнике для txt файлов пишется — Текстовый документ (на русском). Отсюда вопрос — где искать в таком случае? Может кто знает?
Re[2]: Описание типа файла
От: Кока  
Дата: 01.04.04 21:40
Оценка:
Здравствуйте, _nn_, Вы писали:

К>>Если "лучше C#" то ошибка форумом.

К>>Если С++ , то тоже ошибка форумом.

К>>Определитесь


Что значит "Если С++ , то тоже ошибка форумом?" Это вроде и есть тема С/С++, темы C# я здесь не наблюдаю, можно было бы конечно в .NET, но по-моему последняя тема предполагает более обширные вопросы, а у меня он вроде бы конкретный.
Re[3]: Описание типа файла
От: _nn_  
Дата: 02.04.04 06:21
Оценка:
Здравствуйте, Кока, Вы писали:

К>Здравствуйте, _nn_, Вы писали:


К>>>Если "лучше C#" то ошибка форумом.

К>>>Если С++ , то тоже ошибка форумом.

К>>>Определитесь


К>Что значит "Если С++ , то тоже ошибка форумом?" Это вроде и есть тема С/С++, темы C# я здесь не наблюдаю, можно было бы конечно в .NET, но по-моему последняя тема предполагает более обширные вопросы, а у меня он вроде бы конкретный.


В форуме ,NET все вопросы касающиеся .NET и не важно , что эта тема обширна.
В форуме С++.спрашиваются платформонезависимые вопросы касающиеся самого языка, следовательно если нужно было WinAPI то писать надо было в соответствующий форум.

С Уважением,
NN.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[3]: Описание типа файла
От: Alex Fedotov США  
Дата: 02.04.04 06:24
Оценка: 1 (1)
Здравствуйте, Кока, Вы писали:

К>Честно говоря так и думал, что искать надо где-то в том направлении, но когда посмотрел, то у меня значение по умолчанию для ветки txtfile — TextDocument, подумал, что надо доставать по другому. В конце концов выяснилось, что там значение TextDocument, а не Текстовый документ, потому, что у меня стоит Windows 2003 Server английский, переведённый MUI. В проводнике для txt файлов пишется — Текстовый документ (на русском). Отсюда вопрос — где искать в таком случае? Может кто знает?


SHGetFileInfo. Строчка извлекается из поля szTypeName структуры SHFILEINFO.
-- Alex Fedotov
Re: Описание типа файла
От: ilnar Россия  
Дата: 02.04.04 09:18
Оценка:
Здравствуйте, Кока, Вы писали:

К>Как зная расширение файла получить его описание. Например для txt надо получить строку "текстовый документ", для bmp — "точечный рисунок"? (С++ или С# (лучше С#))


эта информация в реестре есть, HKEY_CLASSES_ROOT
Re[4]: Описание типа файла
От: Кока  
Дата: 02.04.04 09:51
Оценка:
Здравствуйте, Alex Fedotov, Вы писали:

AF>Здравствуйте, Кока, Вы писали:


К>>Честно говоря так и думал, что искать надо где-то в том направлении, но когда посмотрел, то у меня значение по умолчанию для ветки txtfile — TextDocument, подумал, что надо доставать по другому. В конце концов выяснилось, что там значение TextDocument, а не Текстовый документ, потому, что у меня стоит Windows 2003 Server английский, переведённый MUI. В проводнике для txt файлов пишется — Текстовый документ (на русском). Отсюда вопрос — где искать в таком случае? Может кто знает?


AF>SHGetFileInfo. Строчка извлекается из поля szTypeName структуры SHFILEINFO.


СПАСИБО!!!
Re[4]: Описание типа файла
От: Кока  
Дата: 05.04.04 20:58
Оценка:
Здравствуйте, Alex Fedotov, Вы писали:

K>>SHGetFileInfo. Строчка извлекается из поля szTypeName структуры SHFILEINFO.


При попытке вывести строку szTypeName вылетает исключение: "Object reference not set to an instance of an object". Пишу на C#. С импортом функции и структуры всё нормально. Иконки через неё достаются, а вот тип файла не хочет.
Может есть какие-то мысли по этому поводу.
Re[5]: Описание типа файла
От: korzhik Россия  
Дата: 05.04.04 21:07
Оценка:
Здравствуйте, Кока, Вы писали:

К>Здравствуйте, Alex Fedotov, Вы писали:


K>>>SHGetFileInfo. Строчка извлекается из поля szTypeName структуры SHFILEINFO.


К>При попытке вывести строку szTypeName вылетает исключение: "Object reference not set to an instance of an object". Пишу на C#. С импортом функции и структуры всё нормально. Иконки через неё достаются, а вот тип файла не хочет.

К>Может есть какие-то мысли по этому поводу.

В качестве флага для SHGetFileInfo указываете SHGFI_TYPENAME?
... << RSDN@Home 1.1.3 stable >>
Re[5]: Описание типа файла
От: Кока  
Дата: 05.04.04 21:46
Оценка:
Всё, я решил уже проблему, вопрос снят.

Просто при описании структуры не указал размер для szTypeName.
Re[6]: Описание типа файла
От: Leonid Troyanovsky  
Дата: 06.04.04 17:14
Оценка:
Здравствуйте, Кока, Вы писали:

К>Всё, я решил уже проблему, вопрос снят.

К>Просто при описании структуры не указал размер для szTypeName.

В таких случаях, IMHO, вежливые люди говорят "извините", ну или,
на всякий случай, "спасибо всем принявшим участие в обсуждении".

Хотя, собс-но, это не мое дело — удаляюсь, удаляюсь.
--
С уважением, LVT
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.