Как скопировать значок приложения
Хозяйке на заметку. Иконки приложений в OS X можно выковырять вручную — делается это достаточно просто. Сначала выделяете приложение в окне Finder, затем жмете клавиши command+I — в окне свойств программы, щелкаете на ее значке в самом верху и жмете клавиши копирования command+C. Потом остается запустить утилиту «Просмотр» (Preview), нажать клавиши command+N и сохранить полученную картинку, желательно в формате PNG (если нужно сохранить полупрозрачные области иконки). Естественно, так удобно делать, если нужно извлечь одну-две иконки. Если же число требуемых значков гораздо больше — лучше все-таки воспользоваться возможностями «Автоматора».
Именно эту иконку нужно скопировать и вставить в утилиту «Просмотр», чтобы вручную сохранить значок в нужном графическом формате.Итак, запускайте Automator, выбирайте пункт Служба (Service) в качестве типа нашего будущего процесса. В шапке, в выпадающем списке Служба получает выбранные (Service receives selected) выберите пункт файлы или папки (files or folders), а в списке рядом выберите приложение Finder. Таким образом мы ввели ограничение: наша служба будет доступна через контекстное меню только для папок и файлов и только в программе Finder — в любых других ситуациях соответствующий пункт меню виден не будет.
Теперь начнем составлять последовательность действий нашей службы.
1. Из категории библиотеки Файлы и папки (Files and Folders) перетащите действие Фильтровать объекты Finder (Filter Finder Objects). Внутри этого действия составьте правило фильтрования Тип — совпадает с — программа (Kind — is — application). Так мы отсеем все файлы и объекты, которые случайно затесались среди выделенных программ, но программами при этом не являются.
2. Теперь из категории Утилиты (Utilities) добавьте действие Запустить AppleScript (Run AppleScript), введя в этом действии такой код:
on run
activate
return input
end run
Хозяйке на заметку. Действие Запустить AppleScript с таким кодом выполняет простую, но очень важную задачу: делает текущую службу активной, выводя ее окна на передний план. По какой-то причине это не происходит автоматически: допустим, следующим действием нашей службы будет отображение диалога открытия каталога — без выполнения указанного AppleScript-кода этот диалог может затеряться среди других открытых окон, что затруднит работу со службой. Попробуйте поэкспериментировать, отключив действие Запустить AppleScript и посмотрев, как при этом служба будет себя вести. Отсюда совет: если вы хотите гарантировать, что какое-либо диалоговое окно, созданное вашей службой, сразу оказывалось поверх остальных окон, применяйте действие Запустить AppleScript с таким кодом.
3. Третье действие — Запросить объекты Finder (Ask for Finder Items) из категории Файлы и папки (Files and Folders). С его помощью мы сможем впоследствии выбрать папку, куда службе следует сохранить извлеченные иконки. В свойствах действия укажите заголовок диалогового окна выбора каталога, задайте стартовую папку и укажите тип принимаемых данных — в соответствующем выпадающем списке выберите пункт Папки.
4. Теперь добавим в службу «интеллектуальное ядро» — действие Запустить shell-скрипт (Run Shell Script). Не меняя изначальных параметров действия, введите внутрь него такой код:
INPUT=("$@")
INPUTAPPS=("$")
DESTINATION=$</p>
for APP in "$"
do
ICON=`defaults read "$APP/Contents/Info" CFBundleIconFile|sed -e 's/.icns$//'`
ICONFILE="$APP/Contents/Resources/$ICON.icns"
APPNAME=`basename "$APP" .app`
OUTFILE="$DESTINATION/$.jpg"
/usr/bin/sips -s format png "$ICONFILE" --out "$OUTFILE"
done
Если кому-нибудь интересно, в комментариях я смогу объяснить работу этого кода. Именно он получает на входе весь массив данных, отделяет пути выделенных в Файндере программ и путь к папке сохранения иконок, ищет внутри каждой программы иконку и сохраняет ее в указанном месте в формате PNG, присваивая картинкам имена соответствующих программ.
Примерно так должна выглядеть готовая служба для извлечения иконок в русскоязычном варианте.
Иногда возникает ситуация при которой необходимо извлечь иконку из EXE и DLL-файла. Windows дает возможность использовать для ярлыков и программ иконки встроенные в файлы DLL и EXE, но не позволяет извлечь их и сохранить в формате ICO или PNG.
В этой статье мы рассмотрим несколько бесплатных программ, которые могут извлечь иконку из EXE и DLL файлов в Windows 10.
Файл ICO
В Windows 10 есть свои иконки, которые находятся в файлах:
- C:\Windows\system32\shell32.dll
- C:\Windows\system32\imageres.dll
- C:\Windows\system32\moricons.dll
- C:\Windows\explorer.exe
Как извлечь иконку из EXE и DLL
Чтобы извлечь иконку из файла, вам потребуется сторонний софт. Для этого есть множество утилит. Я расскажу о трех надежных бесплатных программах, которые я использую.
Начнем с утилиты Resource Hacker.
Извлечь иконку из EXE или DLL с помощью Resource Hacker
Шаг 1: Скачайте Resource Hacker.
Шаг 2: Установите приложение.
Шаг 3: Запустите приложение Resource Hacker.
Шаг 5: На левой панели разверните группу значков и перейдите к нужному значку (используйте область предварительного просмотра справа).
Шаг 7: Выберите папку для сохранения файла ICO и нажмите Сохранить.
Теперь значок извлечен и сохранен в файле *.ico:
Несколько советов по использованию Resource Hacker
Некоторым пользователям может быть сложно использовать Resource Hacker. Пара альтернативных приложений: IconViewer и IcoFX, позволят сохранять значков в других форматах изображений, включая PNG и BMP.
Извлечение иконки из файлов EXE и DLL с помощью IconViewer
Шаг 1: Скачайте IconViewer (есть как 32-битные, так и 64-битные версии программы).
Шаг 2: Установите приложение IconViewer.
Шаг 3 Откройте проводник и откройте папку, содержащую файл, из которого хотите извлечь иконки. Например, перейдите в c:\Windows\System32.
Шаг 4: Щелкните правой кнопкой мыши по файлу с иконками, например, «shell32.dll» и выберите «Свойства» из контекстного меню.
Шаг 5: Перейдите на вкладку «Icons», добавленную приложением IconViewer.
Шаг 6: Выберите значок, который надо извлечь, и щелкните значок дискеты, чтобы сохранить его.
Шаг 7: Укажите папку назначения, имя файла и выберите формат файла (ICO, PNG или BMP). Далее нажмите на кнопку «Сохранить».
Извлечь иконку из EXE или DLL-файла с помощью IcoFX
Чтобы извлечь значок из файла с IcoFX:
Шаг 1: Скачайте бесплатную версию 1.6.4 из архива FileHippo.
Шаг 3: Выберите файл для извлечения значка. Появится диалоговое окно со всеми значками, которые приложение смогло найти в данном файле.
Шаг 4: Выберите иконку и нажмите «Extract». Это откроет значок в редакторе.
Шаг 6: Укажите папку для хранения файла, нужный формат файла (PNG, BMP, JPEG, GIF или JP2) и присвойте имя файлу.
Шаг 7: Нажмите на кнопку «Сохранить».
Заключение
На этом все. Теперь вы знаете как извлечь иконки из DLL и EXE-файлов. В следующей статье я расскажу, как изменить иконку любой программы.
Извлечение иконок из файлов - IconsExtract 1.47 Portable
Утилита IconsExtract сканирует файлы и папки на вашем компьютере и извлекает иконки и курсоры, хранящиеся в EXE, DLL, OCX, CPL и других типах файлов.
Системные требования:
Windows 95 / 98 / ME / NT / 2000 / XP / 2003 Server / Vista / 7 / 8 / 8.1 / 10
Торрент Извлечение иконок из файлов - IconsExtract 1.47 Portable подробно:
Возможности программы:
·Извлечение иконок, а также курсоров из исполняемых файлов.
·Поиск исполняемых файлов по шаблону.
·Работа как через графический интерфейс, так и интерфейс командной строки (подробнее ниже).
Как изменить язык?
По умолчанию, программа, скачанная с официального сайта имеет исключительно английский интерфейс, но в раздачу также добавлен файл русского перевода - iconsext_lng.ini, удалите или переименуйте его, чтобы вернуть английский язык.
Взаимодействие с утилитой через командную строку.
Для сохранения иконок следует воспользоваться ключом /save. Эта команда имеет следующие параметры:
·source file - файл, который содержит иконки для извлечения.
·save folder - папка для сохранения извлечённых иконок.
·-icons - установите этот параметр, если хотите извлечь иконки.
·-cursors - установите этот параметр, если хотите извлечь курсоры.
·-asico - установите этот параметр, если вы хотите сохранить курсоры как файлы ICO.
Например, извлечь из файла shell32.dll иконки и курсоры в папку C:\icons:
Особенности Portable:
Для использования программы нужно всего лишь запустить исполняемый файл, установщик отсутствует.
Скриншоты Извлечение иконок из файлов - IconsExtract 1.47 Portable торрент:
Хозяйке на заметку. Иконки приложений в OS X можно выковырять вручную — делается это достаточно просто. Сначала выделяете приложение в окне Finder, затем жмете клавиши command+I — в окне свойств программы, щелкаете на ее значке в самом верху и жмете клавиши копирования command+C. Потом остается запустить утилиту «Просмотр» (Preview), нажать клавиши command+N и сохранить полученную картинку, желательно в формате PNG (если нужно сохранить полупрозрачные области иконки). Естественно, так удобно делать, если нужно извлечь одну-две иконки. Если же число требуемых значков гораздо больше — лучше все-таки воспользоваться возможностями «Автоматора».
Именно эту иконку нужно скопировать и вставить в утилиту «Просмотр», чтобы вручную сохранить значок в нужном графическом формате.Итак, запускайте Automator, выбирайте пункт Служба (Service) в качестве типа нашего будущего процесса. В шапке, в выпадающем списке Служба получает выбранные (Service receives selected) выберите пункт файлы или папки (files or folders), а в списке рядом выберите приложение Finder. Таким образом мы ввели ограничение: наша служба будет доступна через контекстное меню только для папок и файлов и только в программе Finder — в любых других ситуациях соответствующий пункт меню виден не будет.
Теперь начнем составлять последовательность действий нашей службы.
1. Из категории библиотеки Файлы и папки (Files and Folders) перетащите действие Фильтровать объекты Finder (Filter Finder Objects). Внутри этого действия составьте правило фильтрования Тип — совпадает с — программа (Kind — is — application). Так мы отсеем все файлы и объекты, которые случайно затесались среди выделенных программ, но программами при этом не являются.
2. Теперь из категории Утилиты (Utilities) добавьте действие Запустить AppleScript (Run AppleScript), введя в этом действии такой код:
on run
activate
return input
end run
Хозяйке на заметку. Действие Запустить AppleScript с таким кодом выполняет простую, но очень важную задачу: делает текущую службу активной, выводя ее окна на передний план. По какой-то причине это не происходит автоматически: допустим, следующим действием нашей службы будет отображение диалога открытия каталога — без выполнения указанного AppleScript-кода этот диалог может затеряться среди других открытых окон, что затруднит работу со службой. Попробуйте поэкспериментировать, отключив действие Запустить AppleScript и посмотрев, как при этом служба будет себя вести. Отсюда совет: если вы хотите гарантировать, что какое-либо диалоговое окно, созданное вашей службой, сразу оказывалось поверх остальных окон, применяйте действие Запустить AppleScript с таким кодом.
3. Третье действие — Запросить объекты Finder (Ask for Finder Items) из категории Файлы и папки (Files and Folders). С его помощью мы сможем впоследствии выбрать папку, куда службе следует сохранить извлеченные иконки. В свойствах действия укажите заголовок диалогового окна выбора каталога, задайте стартовую папку и укажите тип принимаемых данных — в соответствующем выпадающем списке выберите пункт Папки.
4. Теперь добавим в службу «интеллектуальное ядро» — действие Запустить shell-скрипт (Run Shell Script). Не меняя изначальных параметров действия, введите внутрь него такой код:
INPUT=("$@")
INPUTAPPS=("$")
DESTINATION=$</p>
for APP in "$"
do
ICON=`defaults read "$APP/Contents/Info" CFBundleIconFile|sed -e 's/.icns$//'`
ICONFILE="$APP/Contents/Resources/$ICON.icns"
APPNAME=`basename "$APP" .app`
OUTFILE="$DESTINATION/$.jpg"
/usr/bin/sips -s format png "$ICONFILE" --out "$OUTFILE"
done
Если кому-нибудь интересно, в комментариях я смогу объяснить работу этого кода. Именно он получает на входе весь массив данных, отделяет пути выделенных в Файндере программ и путь к папке сохранения иконок, ищет внутри каждой программы иконку и сохраняет ее в указанном месте в формате PNG, присваивая картинкам имена соответствующих программ.
Примерно так должна выглядеть готовая служба для извлечения иконок в русскоязычном варианте.
Читайте также: