Изменить закрепленный значок на панели задач (Windows 7) - PullRequest
26 голосов
/ 09 июня 2009

Я не хочу настраивать значок, отображаемый на панели задач Windows 7. Когда мое приложение работает, я могу сделать это, изменив значок главного окна, но, когда приложение закреплено, отображается значок exe.

Как мне установить значок на панели задач для моего приложения на значок, отличный от того, который встроен в exe?

Не пробовал, это решение может работать, но выглядит грязно.


Редактировать:

Наше приложение компилируется один раз, но в зависимости от конфигурационного файла, функции включены или нет, так что это продукт или другой. Мы не хотим составлять один exe для каждого продукта.

Решение, приведенное выше, может не работать, так как многие экземпляры моего приложения могут быть установлены в разных путях (так что в итоге вы получаете одно и то же имя исполняемого файла, но разные значки!), Этот ключ реестра плохо спроектирован или я что-то упустил?

Ответы [ 9 ]

23 голосов
/ 13 июня 2009

РЕДАКТИРОВАТЬ Информация ниже немного устарела; все новые биты Windows 7 теперь доступны в виде управляемого API, доступного здесь: http://code.msdn.microsoft.com/WindowsAPICodePack

Существует серия статей о новом API панели задач от гуру отладки Саша Гольдштейн . Вы должны взглянуть на API Overlay Icons и Progress Bars .

Образец кода можно загрузить с Ресурсы для разработчиков панели задач Windows 7 в коде Microsoft. То, что вы ищете, это IMClient образец:

Образец IMClient демонстрирует, как значки наложения панели задач и панель задач индикаторы выполнения могут загореться вместо этого кнопка панели задач приложения полагаться на дополнительный диалог или на иконку в системном уведомлении площадь (лоток).

alt text alt text alt text

Я считаю, что это должно помочь вам достичь того, что вы хотите.

16 голосов
/ 17 июня 2009

Когда вы прикрепляете приложение к панели задач, оно просто создает ярлык в следующем каталоге:

C:\Users\<User Name>\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar

Вы должны быть в состоянии определить, где находится ярлык (т.е. получить KnownFolders и работать оттуда. UserAppData должен быть один), а затем, используя P / Invoke (IShellLink), вы можете изменить значок, что ярлык настроен использовать. Машине может потребоваться перезагрузка, чтобы она вступила в силу, но она должна работать.

Если вы удерживаете клавишу Shift при щелчке правой кнопкой мыши на закрепленном приложении и выбираете «Свойства», вы можете увидеть кнопку «Изменить значок» для ярлыка. Это в основном то, что вам нужно эмулировать с помощью кода.

Все эти вещи, безусловно, могут быть выполнены с помощью кода, но считаете ли вы, что они лучше, чем настройки реестра, решать вам.

1 голос
/ 14 августа 2009

Насколько я могу судить, по какой-то причине вы не можете изменить значок программы, которая уже прикреплена к панели задач. Для этого достаточно открепить программу, найти ее в меню «Пуск», щелкнуть правой кнопкой мыши - свойства - изменить значок. затем снова прикрепите его к панели задач, и у него появится новый значок!

1 голос
/ 16 июня 2009

Не знаю, понимаю ли я вашу проблему, но ..

Если вы создаете приложение и устанавливаете свойство значка в главном окне, этот значок также появится на панели задач. Но если вы прикрепите его к панели задач, этот значок исчезнет. Я прав? Если это так, перейдите в свойства проекта и на вкладке приложения поместите значок, который вы хотите для исполняемого файла. Теперь вы увидите этот значок на панели задач при закреплении.

Я использую один и тот же значок для обеих вещей: P

1 голос
/ 09 июня 2009

Это можно сделать с помощью библиотеки под названием «Мост Windows 7», которая основана на «Мосте Windows Vista».

Это управляемые оболочки для всех встроенных функций Vista и Windows 7.

Более подробную информацию можно найти здесь

0 голосов
/ 01 июля 2013

Если вы хотите, чтобы на панели задач был ярлык, который можно было бы перенаправить непосредственно в какое-нибудь полезное место, например, в папку «Мои документы». Легкое исправление. , ,

Перетащите папку на панель задач (которая создает ярлык для изображений). Перейдите в каталог, где был размещен этот ярлык, щелкните правой кнопкой мыши по ярлыку и выберите «Свойства», чтобы изменить цель. Выберите вкладку «Общие», чтобы изменить имя ярлыка. Ярлык был размещен здесь:

C: \ Users [пользователь] \ AppData \ Roaming \ Microsoft \ Internet Explorer \ Быстрый запуск \ Пользователь закреплен \ TaskBar

Вы можете перейти в этот каталог и редактировать свойства ярлыка "images".

0 голосов
/ 26 октября 2010

Щелкните правой кнопкой мыши на закрепленном значке, во всплывающем окне вы увидите название программы, там снова щелкните правой кнопкой мыши и перейдите в свойства. Там вы можете изменить значок, нажав на кнопку "изменить значок". Для меня потребовалась перезагрузка, чтобы закончить изменения.

0 голосов
/ 17 июня 2009

К сожалению, сейчас я не могу это проверить, но, возможно, просто создание обычного старого доброго ярлыка может решить проблему? Создать ярлык для приложения, изменить значок, а затем прикрепить ярлык вместо самого приложения?

Будет проверять, когда я смогу в следующий раз получить доступ к моей машине с Windows 7 ...

0 голосов
/ 09 июня 2009

Посмотрите на этот блог . Он делает серию постов в блоге о программировании панели задач Windows 7, так что, возможно, это укажет вам правильное направление.

...