Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi и WinAPI

Войти
Регистрация
Восстановить пароль
 
MartIden
0 / 0 / 0
Регистрация: 18.12.2016
Сообщений: 11
#1

Определение типа файла - Delphi WinAPI

18.12.2016, 16:40. Просмотров 437. Ответов 10
Метки нет (Все метки)

Здравствуйте, товарищи программисты. Подскажите пожалуйста, как с помощью в WinApi функций определять тип файла. Пишу файловый менеджер, в ListView отображаю файлы и папки, нужно как то определять тип файла, ставить ему нужную иконку, будучи это архив или картинка. Пожалуйста помогите! Главное определить тип файла, а остальное уже сам сделаю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2016, 16:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определение типа файла (Delphi WinAPI):

Определение типа файла - Delphi
Как можно узнать тип файла? Не формата, а именно тип! Знаю, что можно по сигнатуре определить, но там тоже, можно сказать, "по формату". ...

Чтение .exe файла в переменную типа - Delphi
Мне нужно загрузить файл, который указал пользователь с помощью Диалога, в переменную типа TFileStream. Затем найти в файле несколько строк...

Описать функцию IntFileSize(Name) целого типа, возвращающую размер файла целых чисел с именем Name. - Delphi
Помогите пожалуйста решить такую задачку на данный момент она мне не по силам так как пока еще плохо знаю Delphi! Задача.Описать функцию...

Определение типа файла - Bash
Помогите, пожалуйста, с программой. 11. Запрос и ввод имени файла (задается полный путь) и его типа, сравнение с действительным типом...

Определение типа файла по заголовку - C#
Здравствуйте. Подскажите, пожалуйста, как определить тип файла по заголовку?

Требуется определение типа или пространства имен, либо признак конца файла - C#
using System; using System.Windows.Forms; using WindowsFormsApplication1; namespace WindowsFormsApplication1 { public...

10
krapotkin
2663 / 2539 / 640
Регистрация: 14.04.2014
Сообщений: 12,252
Записей в блоге: 7
18.12.2016, 18:50 #2
что такое ТИП ФАЙЛА?
откуда вы хотите брать иконки?
где вы хотите взять иконки под ВСЕ типы файлов?
0
MartIden
0 / 0 / 0
Регистрация: 18.12.2016
Сообщений: 11
18.12.2016, 19:18  [ТС] #3
Извините конечно, но тип файла, это и есть тип файла(формат файла), зачем этот вопрос вообще задавать? Просто ответьте на мой вопрос. Как с помощью WinApi узнать формат файла(тип файла)? Зачем задавать вопросы, не относящиеся к теме!
0
krapotkin
2663 / 2539 / 640
Регистрация: 14.04.2014
Сообщений: 12,252
Записей в блоге: 7
18.12.2016, 19:37 #4
я вам сейчас файл пришлю с названием someshit.ffsncm
сможете при помощи любых функций, хоть собственных, хоть операционной системы, определить тип этого файла?
формат файла - это формат файла
и обычно форматы придумываются под какую-то конкретную программу, либо какой-то стандартизующей организацией для общего использования
при этом никогда нельзя сказать, является ли файл picture.jpg действительно картинкой в формате jpg.
Для этого надо открыть этот файл, проанализировать и выдать заключение - да или нет
То же и с остальными форматами.
0
MartIden
0 / 0 / 0
Регистрация: 18.12.2016
Сообщений: 11
18.12.2016, 19:40  [ТС] #5
При чем тут это? Вы совсем с головой не дружите, извините меня? Разводите здесь демагогию! Есть в Windows зарегистрированные типы файлов, как exe, txt или жу jpg. И нужно как то определять к какому типу относится тот или иной файла.
0
krapotkin
2663 / 2539 / 640
Регистрация: 14.04.2014
Сообщений: 12,252
Записей в блоге: 7
18.12.2016, 19:53 #6
нуууу, так вы же не я, вы-то все-таки дружите с головой, раз говорите про ЗАРЕГИСТРИРОВАННЫЕ в WINDOWS типы файлов
я, вообще-то, про это и спрашивал. что именно вы имеете в виду.

windows определяет тип исключительно по расширению, пока проводник не пытается его открыть )
зарегистрированные расширения лежат в реестре

там довольно сложное извлечение иконок для каждого зарегистрированного типа
статья тут показывает где что хранится
https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
0
MartIden
0 / 0 / 0
Регистрация: 18.12.2016
Сообщений: 11
18.12.2016, 19:59  [ТС] #7
Почему сразу нельзя было так ответить, мне просто интересно! Но за информацию,Спасибо!)
0
krapotkin
2663 / 2539 / 640
Регистрация: 14.04.2014
Сообщений: 12,252
Записей в блоге: 7
18.12.2016, 20:05 #8
потому что ответ очевиден - расширение файла - это одно, а форматы, типы и т.д. это другое
что вам мешало отделить архивы от не-архивов по расширению?
значит, возможно вопрос в чем-то другом
я хотел узнать, в чем...
1
MartIden
0 / 0 / 0
Регистрация: 18.12.2016
Сообщений: 11
18.12.2016, 20:10  [ТС] #9
Текстовый документ можно сохранить под расширение .rar, так же его можно сохранить под расширением .exe. И мне хотелось узнать есть ли другой способ определять типы файлов.
0
krapotkin
2663 / 2539 / 640
Регистрация: 14.04.2014
Сообщений: 12,252
Записей в блоге: 7
18.12.2016, 21:51 #10
вот и я про то
пока не откроешь специально обученной программой, не узнаешь
а иконка будет стоять что rar
0
ILinker
40 / 43 / 10
Регистрация: 25.11.2016
Сообщений: 207
22.12.2016, 10:41 #11
Да, как сказали выше, определять тип файла через расширение.
Его можно получить используя функцию ExtractFileExt().
1
22.12.2016, 10:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2016, 10:41
Привет! Вот еще темы с ответами:

Не компилируется приложение. Требуется определение типа или пространства имен, либо признак конца файла - C#
Здравствуйте. При компиляции windows forms приложения, пишет: Требуется определение типа или пространства имен, либо признак конца...

.NET 4.x Ошибка "Требуется определение типа или пространства имён, либо признак конца файла - C#
Вообщем в С# ничего не шарю, но так совпало, что поставили практику.Дело осталось за малым - вывести в ворд таблицы.Есть такой код.По...

Ошибка CS1022: Требуется определение типа или пространства имен, либо признак конца файла - C#
Во втором созданном классе : using System; using System.Collections.Generic; using System.Linq; using System.Text; using...

Определение вещественного числа и определение типа - C (СИ)
Определить, является ли вводимая строка вещественным числом с целой и дробной частью, и определить тип числа (если вводимое число содержит...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru