[win] иконка ярлыка
Можно.
И как?
или ты что-то другое хотел? тогда поясни
Так же нужен вариант, прозрачный для пользователя, не умеющего работать с иконками. Вариант приложить мануал по правке иконок - не вариант
ну, значит, наоборот, надо написать прогу, которая выискивает стандартный ярлык, выдергивает ярлык из program.exe, накладывает их и засовывает назад в program.exe. Запускать эту прогу при установке приложения.
Проанализируй то, как это сделано с обычными ярлыками (копай реестр по ключу .lnk и MSDN) и сделай так же.
И если 20 ярлыков, то 20 копий приложения делать? %)
Есть положительный личный опыт по моему вопросу?
Сейчас самому копать не хочется. Но ведь с иконками, 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 есть.
Например: