[win] иконка ярлыка
Можно.
И как?
какие проблемы: берешь из program.exe иконку, накладываешь в редакторе на стандартную иконку и делаешь результат стандартным
или ты что-то другое хотел? тогда поясни
или ты что-то другое хотел? тогда поясни
Есть набор ярлыков. Часть открываются по умолчанию, часть другой программой. Нужно их визуально различать.
Так же нужен вариант, прозрачный для пользователя, не умеющего работать с иконками. Вариант приложить мануал по правке иконок - не вариант
Так же нужен вариант, прозрачный для пользователя, не умеющего работать с иконками. Вариант приложить мануал по правке иконок - не вариант

ну, значит, наоборот, надо написать прогу, которая выискивает стандартный ярлык, выдергивает ярлык из program.exe, накладывает их и засовывает назад в program.exe. Запускать эту прогу при установке приложения.
Проанализируй то, как это сделано с обычными ярлыками (копай реестр по ключу .lnk и MSDN) и сделай так же.
И если 20 ярлыков, то 20 копий приложения делать? %)
Честно говоря, пока твой ответ не вселяет в меня уверенность, что потратив кучу времени на копание и гугление я получу нужный результат.
Есть положительный личный опыт по моему вопросу?
Есть положительный личный опыт по моему вопросу?
Есть уверенность, что он будет, если начать 
Сейчас самому копать не хочется. Но ведь с иконками, SMB-шарами и ещё чем-то оно же есть в винде - значит, как-то оно обрабатывается. Значит, можно обрабатывать и самому.

Сейчас самому копать не хочется. Но ведь с иконками, SMB-шарами и ещё чем-то оно же есть в винде - значит, как-то оно обрабатывается. Значит, можно обрабатывать и самому.
значит, как-то оно обрабатывается. Значит, можно обрабатывать и самому.Вот то что можно обрабатывать самому, если умеет система - это как раз не факт.
Иначе мы уже не об изменении кода program.exe говорим, а о внедрении в систему...
Нужно, чтобы система любому ярлыку типа "a.exe %1" давала иконку, содержащую комбинацию иконки a.exe и иконки %1? Если любому - то мне кажется, задача разумными усилиями не решается.
Ну да. Вопрос то был задан в надежде не задавался ли кто схожим вопросом и инкапсулирован ли у винды этот "ярлычный" функционал или присутствует где-нибудь в библиотеках.
Иначе мы уже не об изменении кода program.exe говорим, а о внедрении в систему...Я 100% уверен, что только изменением кода program.exe проблему не решить.
Отображает иконки explorer (другие программы основываются на том же и информацию о том, что отображать, он берёт из реестра. Потому править реестр точно надо будет.
При отображении иконок для мягких ссылок и для расшаренных папок, используется общий алгоритм. Он подобен тому, что хочешь ты реализовать. Я предлагаю только воспользоваться им вместо изобретения чего-то своего трёхколёсного.
Я и говорю, что нет уверенности, что этот велосипед не закрыт в гараже.
TortoiseSVN умеет добавлять свой оверлейный значок к папочкам. Как делает - не знаю.
Данке. Нашел у них в исходниках:

и нагуглил howto
// "The Shell calls IShellIconOverlayIdentifier::GetOverlayInfo to request the
// location of the handler's icon overlay. The icon overlay handler returns
// the name of the file containing the overlay image, and its index within
// that file. The Shell then adds the icon overlay to the system image list."

Оставить комментарий
feliks28
Можно ли для ярлыка типа "program.exe target.something" брать присвоенную target.something иконку и накладывать на нее частично прозрачную маску из program.exe?Возможность вносить исправления в код program.exe есть.
Например: