Задать другой значок панели задач для значка, отображаемого в заголовке (C #)? - PullRequest
19 голосов
/ 29 октября 2010

У меня есть как темная, так и светлая версии иконки моего приложения; темная версия лучше всего работает на серых поверхностях, таких как панель задач Windows XP, где светлая версия лучше всего работает в качестве значка в заголовке.

Есть ли способ, которым я могу установить значок на панели задач на значок, отличный от того, который используется в моей форме в C # (P / Invoke в порядке)?

Ответы [ 2 ]

15 голосов
/ 01 декабря 2013

Отправьте сообщение WM_SETICON на вашу форму с разными маркерами значков для ICON_SMALL и параметром ICON_BIG:

[DllImport("user32.dll", CharSet = CharSet.Auto)]
static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, int wParam, IntPtr lParam);

private const uint WM_SETICON = 0x80u;
private const int ICON_SMALL = 0;
private const int ICON_BIG = 1;

public MyForm()
{
    InitializeComponent();

    SendMessage(this.Handle, WM_SETICON, ICON_SMALL, Properties.Resources.IconSmall.Handle);
    SendMessage(this.Handle, WM_SETICON, ICON_BIG, Properties.Resources.IconBig.Handle);
}
6 голосов
/ 27 июля 2012

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

Оказывается, ICOФайл не просто содержит одно изображение, он содержит 9 различных изображений в 9 различных разрешениях:

  • 16x16
  • 24x24
  • 32x32
  • 48x48
  • 64x64
  • 72x72
  • 80x80
  • 96x96
  • 128x128

В Windows 7 и 8,изображение 64x64 используется на панели задач, а изображение 16x16 используется на значке, который находится в верхнем левом углу формы.

Вы можете использовать такой инструмент, как Greenfish Icon Editor Pro (я не работаю на них или что-то в этом роде, это не плагин!), Чтобы они были двумя отдельными изображениями, а затем добавьте этот файл *.ico как обычно в форму Windows Form / WPF в Visual Studio.

Конечный результат показан ниже:

WPF

Как видите, мое приложение WPF имеет дваотдельные значки, одна на панели задач, другая на форме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...