Что нового

File Types Manager - Управление типами файлов

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 711
AutoIt: 3.3.6.1
Версия: 1.3

Категория: Система / Реестр

Описание: File Types Manager (FTM) предназначена для просмотра и изменения параметров (название, иконка, контекстное меню и т.д.) зарегистрированных в системе типов файлов. Это то, что по умолчанию присутствует в Windows XP и доступно из меню любой папки, и по непонятным мне причинам отсутствует в Windows Vista/7. Вместо этого предлагается совершенно бестолковый инструмент под названием "Set Associations", где нельзя изменить ни название, ни иконку, ни контекстное меню, ни других жизненно важных параметров. А так как необходимость редактировать типы файлов у меня возникает достаточно часто, то я решил восполнить этот недостаток и написать полноценную замену XP-шному диалогу.

Как следует из вышенаписанного, FTM будет полезена только "счастливым" обладателям Windows Vista/7. В Windows XP программа может работать некорректно, поэтому не стоит пытаться прикрутить ее к этой системе, да и бессмысленно это, там есть свой инструмент. По началу, я планировал написать FTM в течении недели, но оказалось, что здесь не все так просто... Вообщем, срок значительно возрос. В результате у меня получилась довольно сносная утилита (см. скриншот), и не смотря на то, что я достаточно долго тестировал ее, я решил пока присвоить программе статус Beta (хотя версия 1.0). FTM очень аккуратно работает с реестром: если по какой-либо причине изменения не удастся сохранить в реестре, будет выведен подробный лог с расширенным описанием проблемы. Подробно описывать принцип работы FTM, я думаю не имеет смысла. Все предельно просто и интуитивно понятно.

Убедительная просьба к тем, кто заинтересован в FTM, или кому просто понравилась эта утилита, отписывать в этой ветке все найденные баги или пожелания, буду очень признателен. Да, и для удобства использования, вы можете импортировать в реестр приведенный ниже .reg файл. Это добавит в контекстное меню всех файлов пункт "File Types...", и FTM будет автоматически переходить в списке на тип (если такой зарегистрирован), соответствующий выбранному файлу.

Код:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\Types]
@=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\
  00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,46,00,\
  54,00,4d,00,2e,00,65,00,78,00,65,00,2c,00,2d,00,36,00,30,00,30,00,30,00,00,\
  00
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\*\shell\Types\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,46,00,54,00,\
  4d,00,2e,00,65,00,78,00,65,00,20,00,22,00,25,00,31,00,22,00,00,00
Файлы: AU3, ZIP, ZIP (Русская версия), EXE, EXE (Русская версия)

Используемые библиотеки: GuiSysLink.au3, IconChooser.au3, Skin.au3, WinAPIEx.au3

Скриншоты:



Источник: File Types Manager (оффициальный форум)
Автор: Yashied
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 472
Репутация
2 401
Жаль что только для Vista/7, в WinXP как раз есть смысл, встроены инструмент оставляет желать лучшего.

P.S
По поводу регистрации программы в реестре, возможно было бы удобнее если бы она эта сама умела делать (опционально).
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 711
CreatoR сказал(а):
Жаль что только для Vista/7, в WinXP как раз есть смысл, встроены инструмент оставляет желать лучшего.
А чем не устраивает встроенный инструмент?
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 472
Репутация
2 401
Yashied [?]
чем не устраивает встроенный инструмент?
Хотябы тем, что список расширений иногда загружается довольно медленно.
 

SyDr

Сидра
Сообщения
651
Репутация
158
А можно разрешить окну программы менять свой размер? А то 16 значений в списке за раз - не густо :smile:
Да и к кнопке с иконкой 201 не помешала бы подпись. Или хотя бы всплывающая подсказка. А то пока не нажмёшь кнопку - понять, что она делает, невозможно.
 

SECTOR

Продвинутый
Сообщения
398
Репутация
58
Странная вещь, нажимаю на ссылки EXE, AU3 и получаю:

An Error Occurred

Sorry, an error occurred. If you are unsure on how to use a feature, or don't know why you got this error message, try looking through the help files for more information.

[#10170] We could not find the attachment you were attempting to view.
 

SECTOR

Продвинутый
Сообщения
398
Репутация
58
Предлагаю приделать быстрый поиск в списке, имхо очень удобно! :smile:

Yashied сказал(а):
В Windows XP программа может работать некорректно
CreatoR сказал(а):
Жаль что только для Vista/7
Согласен, но у меня на ХР вроде отлично работает ;)
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 711
SECTOR сказал(а):
Предлагаю приделать быстрый поиск в списке, имхо очень удобно! :smile:
Это же ListView, нажимай последовательно клавиши, он и перейдет на нужное расширение.

SECTOR сказал(а):
Согласен, но у меня на ХР вроде отлично работает.
Это на твое усмотрение. Я просто использовал несколько функций, в частности для получения некоторых системных иконок, которые присутствуют, начиная с Windows Vista. По части реестра, вроде бы все должно работать. Но вот только зачем? В Windows XP есть свой неплохой инструмент для этого.
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 711
Обновил программу до версии 1.1.

Список изменений:
  • Добавлена возможность создавать и удалять типы файлов.
  • Добавлена возможность экспортировать информацию о выбранном типе в .reg файл.
  • Добавлена полноценная поддержка Drag-and-Drop для всех окон программы (для каждого диалога он работает по своему).
  • Добавлена подсветка (светло-серый цвет) типов файлов, для которых не определены названия.
  • Добавлены всплывающие подсказки для некоторых элементов интерфейса.
  • Исправлено несколько незначительных ошибок.

Все дополнительные функции программы находятся в контекстном меню основного списка (см. скриншот). Просто кликните правой кнопкой мыши на любом типе файла...

Еще раз скажу, что я не рекомендую использовать FTM в Windows XP. Программа не предназначена и не писалась для работы в этой системе, в противном случае вы можете столкнуться с необъяснимыми глюками.

P.S

И все это удовольствие + исходый код за $0! Очень щедрое предложение, не правда ли?

:smile:
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
Yashied,
Большое Вам спасибо!
Исходники Ваших программ я с огромным удовольствием подолгу изучаю и, естественно, нахожу для себя очень много нового и полезного.

PS
Особенно радует значение переменной(постоянной) :smile:
Код:
Global Const $0 = 0
:smile:
 

Bodya

Новичок
Сообщения
2
Репутация
0
Уважаемый Yashied ,а нельзя ли приделать мультиязычность.Понимаю что все придельно ясно,но ИМХО,приятнее было бы пользовать с "Великим и Могучим" русским.
А вообще спасибо за прожку,хорошая вещь.
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 711
Там перевода всего-то несколько слов по всему коду программы. Я предлагаю кому-нибудь из участников форума сделать это. Буду премного благодарен.

:smile:
 

SyDr

Сидра
Сообщения
651
Репутация
158
Пару строчек. Только вот проблема в том, что многие русские аналоги просто-напросто не влазят в отведённые рамки. Если с большинством можно как-то разобраться, то что делать со значенями типа "Set Default"?

И ещё, программа как-то странно работает с ассоциациями. У меня на mp3 стоит AIMP2, а программа показывает Light Alloy
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 711
SyDr сказал(а):
И ещё, программа как-то странно работает с ассоциациями. У меня на mp3 стоит AIMP2, а программа показывает Light Alloy.
Это потому что оно сидит в следующей ветке:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mp3\UserChoice

В принципе, алгоритм для этого дела уже был заложен в программе, но я его тестировал на Windows XP, а там не так все гладко, как в Windows Vista/7. Поэтому я его отключил... и в последствии забыл вернуть обратно.

Обновил программу. Но редактировать расширения, которые были переназначены с помощью "Default Programs" или "Open with..." все равно не получиться. Я конечно могу это реализовать, но в этом случае изменения коснутся и всех других файлов, связанных с этим типом. Поэтому FTM предлагает сначала восстановить (если возможно) ассоциацию с веткой HKEY_CLASSES_ROOT, а потом уже вносить изменения в тип файла. Кстати, умолчальный инструмент в Windows XP работал по такому же принципу.
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 711
Обновил программу, версия осталась прежней.

Список изменений:
  • Добавлен стиль Windows Vista Explorer'а для ListView (см. скриншот).
  • Изменен алгоритм выбора папок и файлов при открытии диалогов "Open File...".
  • Изменен алгоритм определения иконок по умолчанию для зарегистрированных типов файлов.
  • Исправлено несколько незначительных ошибок.

Теперь, специально для членов "Русского сообщества AutoIt", доступна для скачивания русская версия программы с полным переводом (см. первое сообщение).

P.S

Вообще, это беспрецедентный случай. Я еще ни разу не писал программы с русским интерфейсом, File Types Manager первая...

:smile:
 

Garrett

Модератор
Локальный модератор
Сообщения
3 999
Репутация
964
Yashied [?]
Вообще, это беспрецедентный случай. Я еще ни разу не писал программы с русским интерфейсом, File Types Manager первая...
С почином! :ok:
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 711
Обновил программу до версии 1.2.

Список изменений:
  • Увеличена скорость перечисления типов файлов в ~3-5 раз (возможно и больше) при старте программы благодаря использованию кэша (два файла в папке TEMP: FTM.dat и FTM.cache). При желании можно отключить кэширование в реестре (параметр "Cache").
  • Добавлена возможность удаления иконки для выбранного типа файла.
  • Добавлена подсветка (красным цветом) группы однотипных (ссылаются на один и тот же раздел реестра) расширений. Параметр "HighlightExtensions".
  • Добавлена возможность перемещения курсора в списке (CTRL+UP/DOWN) в пределах группы расширений.
  • Убраны мерцания во время отображения иконок (16, 32 и 48) для выбранного типа фала.
  • Добавлена возможность экспорта группы расширений в .reg файл.
  • Добавлена поддержка Web-сервисов: file-extensions.org для английской версии программы и filetypes.ru для русской. При желании можно установить любой другой сервис (параметр "WebService").
  • Добавлен диалог "About..."/"О программе...".
  • Теперь при двойном клике на типе файла открывается соответствующий ему раздел реестра.
  • Теперь все настройки программы находятся в разделе "HKEY_CURRENT_USER\Software\Y's\File Types Manager".
  • Исправлено несколько незначительных ошибок.
  • Немного оптимизирован код.

Жду отзывов.

:smile:
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 711
Guezt Gutsy сказал(а):
Жаль, что под Vista +...
Как я уже говорил, в XP есть своя довольно сносная утилита для этого. В любом случае, в версии 1.2 я поставил окончательную точку невозврата для работы FTM в Windows XP. Уж больно много всего использовано присуще именно Vista +... В XP, эта утилита работать никогда не будет. Да и зачем? Пора уже наконец присматриваться к Windows 7. IMHO, эта ОС действительно лучше XP, особенно с нашей точки зрения, т.е. кодеров. Изучая API, я с каждым днем все лучше и лучше начинаю относиться к 7.
 
Верх