Как иконки с файлов вытаскивать?
В FAQ этот вопрос подробно освещен.
да почти как угодно: студия, микроангело, любой грабер ресурсов...
Ты о какой студии? Визуал студии?
да, об этой самой студии.
Для того, чтобы ярлыки были разные, видимо.
я раньше думал, что знаю, а сейчас вот задумался и понял, что нет
Т.е. для удобства...
А зачем тогда продолжают использовать, сейчас ведь программы из одного файла не в моде?
А какой смысл класть рядом?
Заменить легче
зы
хинт. Положить каждую строку, использующуюся в программе, в отдельный файл. Так проще будет проводить локализацию.
ззы
Я понял смысл.
Иконка маленькая по размеру, поэтому выгоднее ее хранить в самом exe-шнике.
Одним файлом она будет занимать целый кластер.
не верю. даже MS выпускает темы с разными наборами иконок.
> Положить каждую строку, использующуюся в программе, в отдельный файл. Так проще будет проводить локализацию.
IMHO, не проще: один файл проще перевести, чем много маленьких. Хотя разница небольшая и равна трём строчкам скрипта, который склеит/разрежет.
> Одним файлом она будет занимать целый кластер.
Это технические особенности конкретных ФС, и некоторые считают, что их надо устранять, а не приспосабливаться к ним.
В любом случае иконки и прочие эти "ресурсы" можно засунуть в архив стандартного формата, а не в исполняемый файл.
а чем исполняемый файл - не архив стандартного формата?
с разными иконками для исполняемых файлов? Это для какой программы?
> В любом случае иконки и прочие эти "ресурсы" можно засунуть в архив стандартного формата, а не в исполняемый файл.
Структура ресурсов тоже тянет на стандарт. И то, что у пользователя не установлена программа для работы с этим стандартом, это уже больше похоже на проблемы самого пользователя.
Но менять его в целях настройки пользовательского рабочего места - как-то неаккуратно.
Пользователей бывает несколько - для каждого отдельную версию держать?
Ещё: программы, работающие с исполняемыми файлами, обычно относятся к инструментам разработчика, а не конечного пользователя - т.е. формат архива недостаточно стандартный, получается. Правда, AFAIK не во всех поддерживаемых в настоящий момент версиях Windows есть стандартный формат архивов.
ну если прямо в файл пихают и другие ресурсы, типа картинок, то почему бы и иконки не класть туда же?
а зачем это всё туда кидают?
если же ресурсы в архив класть, то уже надо реализовывать работу с этим архивом
Для всяких. Помню Microsoft Plus!
после него не очень интересовался
к тому же при компиляции проги все ресурсы автоматом в файл помещаются, так что зачем что-то придумывать?
ИМХО, пользователю надо менять иконку только в ярлыках (shortcuts так как именно shortcut-ы лежат в менюшках, desktop-е и т.д. А поменять иконку в ярлыке тебе и сейчас никто не мешает парой кликов.
AFAIK, Microsoft Plus меняет только те иконки, что располагаются в менюшках и на desktop-е. А это и руками можно поменять.
Сообщение удалил
А где располагается иконка Сетевое Окружение?
1. "Сетевое окружение" - это расширение Explorer-а. А explorer к ос Windows имеет опосредованное отношение.
2. Данную иконку можно поменять через Desktop\Context Menu\Display\Effects\Settings.
Теперь вопрос: а зачем иконка в исполняемом файле, если практически сразу после инсталляции она (или даже не она?) копируется, и показываются уже иконки из другого источника (из ярлыков)?
А ещё, помню, кроме меню иконки есть в панеле задач или в трее, для выполняющихся приложений. Они откуда берутся?
ЗЫ У окон тоже иконки есть
И фунции API, и средства сборки, пихающие ресурсы в исполняемые файлы, появились именно потому, что
1. кто-то придумал, что именно так и надо
2. остальные согласились, и продолжают соглашаться с каждым вызовом функции API, с каждым запуском линкера.
а ты, я вижу, ниибаца нонконформист
ЗЫ Никто же не заставляет пользоваться ресурсами. Но практика показывает, что это достаточно удобно.
Хочешь - загружай своё барахло из дополнительных файлов, но вот только что делать, если они пропотеряются / криворукий юзер их "поправит" - непонятно.
про себя я пока ничего не говорил, хочется понять, почему другие так делают
пока что вышеупомянутое копирование иконок представляется мне костылём, помогающим обойти именно непригодность для использования иконок из исполняемого файла (а иначе зачем копировать?)
> но вот только что делать, если они пропотеряются
этот аргумент неприменим, если программа и так состоит более чем из одного исполняемого файла, да и в этом случае всё не так уж просто, исходя из сказанного в этой теме.
> криворукий юзер их "поправит"
от этого такими способами не защитишься, "поправить" можно любой файл
При создании shortcut-а на исполняемый файл: shortcut берет иконку из исполняемого файла.
В основном все это вызвано, конечно, историческми причинами.
1.исполняемые файлы запускались напрямую, через любой File-овый Manager. Для такого сценария удобно, когда программа выполнена в виде одного файла и снабжена иконкой.
2. Далее появляется explorer. Пользователь уже не запускает программы напрямую, а работает через explorer. Появляются shortcut-ы.
зы
Хоть Microsoft и пиняют за то, что она плохо поддерживает старые продукты.
Но на практике это одна из немногих компьютерных компаний, которая поддерживает свои старые наработки в течении 5 - 10 лет. Отсюда и берутся нестыковки.
> А ещё, помню, кроме меню иконки есть в панеле задач или в трее, для выполняющихся приложений. Они откуда берутся?
В панель задач идет та же иконка из исполняемого файла, но программа по желанию может ее поменять в процессе работы.
Иконка в Tray-е полность на совести самой программы.
мне слово "иконка" даже употреблять тут страшно, похоже, оно для кое-кого как красная тряпка для быка, гы-гы
>этот аргумент неприменим, если программа и так состоит более чем из одного исполняемого файла, да и в этом случае всё не так уж просто, исходя из сказанного в этой теме.
Не надо сравнивать. Типичный случай (с частотой, близкой к 100%) - программа состоит из исполняемого файла + энное кол-во библиотек, причём используется раннее связывание. В этом случае при утере файлов программа просто _не_будет_запущена_ на выполнение, и ничего страшного в этом нет. А вот что делать, если где-то в разгар процесса выяснится, что нужная строка / xml-схема / диалог куда-то делись - непонятно. В общем, разные это вещи.
>от этого такими способами не защитишься, "поправить" можно любой файл
можно, но для исправления exe нужен специальный (читай - девелоперский) инструмент
если твой формат будет защищён, то для него тоже что-то такое потребуется
а если это будет plain-текст, то тогда жди неприятностей
ЗЫ Иконки на рабочем столе, к которым ты прицепился, имеют к ресурсам очень и очень косвенное отношение. Забей.
не бойся, тебя не забодают
получается, что кроме лени (приводящей к автоматическому согласию с однажды кем-то принятым решением есть ещё мотив: уменьшение возможности настройки и модификации пользователями.
правильно понял?
> Но на практике это одна из немногих компьютерных компаний, которая поддерживает свои старые наработки в течении 5 - 10 лет. Отсюда и берутся нестыковки.
Поддержка продуктов и поддержка своих наработок - разные вещи.
Первое нужно пользователям, а второе - своим разработчикам.
свои продукты они тоже поддерживают
ок. такой вопрос. чем тебе не нравиться наличие иконки в файле программы? и чем лучше, если бы она была во внешнем файле?
есть некий унифицированный подход, (почти?) все (более-менее?) им довольны
а всякие сложные психологические, политические и т.д. факторы я не рюхаю
>уменьшение возможности настройки и модификации пользователями.
Отчасти, да.
С точностью до "взять редактор ресурсов". Это ведь совсем не сложно, не так ли?
я правильно понял, что у тебя не QWERTY-раскладка?
а всякие иконки IMHO должны быть настраиваемыми (ну кроме тех, на которых никто смотреть не будет, те вообще не нужны)
иконка - это такая же часть программы, как и все остальное
и с чего это нужно позволять их менять у программы?
иконка - такая же часть оформления программы, как менюшки, картинки и т.п.
1. те, на которые никто смотреть не будет. они меня не интересуют, так как не нужны.
2. те, на которые кто-то будет смотреть (а значит, кто-то будет смотреть часто и подолгу, если пользователей много). так вот, разве странно, если кому-то из тех, кто будет смотреть, захочется их поменять, чтобы смотреть было приятнее?
зы
Где-то есть более удачное решение?
если очень захочется, то ведь и при текущем положении дел поменяет, правда же?
тексты - конечно должны настраиваться, хотя бы для локализации
функции и так обычно настраиваются в какой-то степени
более хорошее решение - посмотри на программы, для которых бывают "скины" или "темы"
картинки в отдельном файле/файлах, путь к файлу - в настройках
например, к комбинациям клавиш (они не везде настраиваются)
к оформлению программы (типа вид строки статуса и т.п.)
и далее
Мне, кажется, это следствие обычной мании Микрософт на все придумать свой формат, желательно бинарный при этом. А поскольку в Виндах ничего иначе не делается, то и аргументы возникают из серии "а нах менять, и так хорошо". Потом в микрософт придумывают специальные API или еще хуже технологии для работы с этим, программисты пишут программы, а пользователи их покупают и используют, чтобы сделать то, что в ином случае могли бы сделать в любом текстовом редакторе. В результате все при делах.
Вроде всё ясно. Ресурсы в исполняемых файлах придумали в незапамятные времена, когда программы состояли из одного файла, а локализация была не в моде, в рамках культуры, где модифицировать поведение программы - дело исключительно разработчиков.
Почему продолжают использовать - тоже вроде прояснилось в ходе обсуждения.
А кто прививал такую культуру? Насчет программы из одного файла нужно отдельно выяснить. Как давно под Виндами появились инсталяторы?
зы
Для небольших программ инсталлятор нужен только для того, чтобы создать ярлык в меню. Без чего как бы можно и обойтись.
ззы
Некое намеки на смещение к одному исполняемому файлу наблюдаются в новых технологиях (тот же .Net).
Оставить комментарий
rid2000
субж...Посоветуйте прогу...