Это маленькие иконки (ICON_SMALL
).Вы можете узнать размер, позвонив по номеру:
GetSystemMetrics(SM_CXSMICON)
Я думаю, вполне безопасно предположить, что они квадратные, но если вы параноик, вы всегда можете узнать о SM_CYSMICON
.
На моей машине с Windows 7 они имеют размер 16px.Но если вы используете масштабирование шрифтов, то они будут больше.Для масштабирования шрифта 125% (например, крупных шрифтов) вам понадобится значок в 20px.
Если у вас нет версии под 20px, тогда лучше всего создать ее на лету и поставить 16pxверсия в середине нового значка 20px.
Обновление
В документации NOTIFYICONDATA
рекомендуется использовать LoadIconMetric
, передавая LIM_SMALL
что эквивалентно подходу, который я описал выше.
Тем не менее, в теме NOTIFYICONDATA
также говорится об использовании ресурса значков, содержащего версии значков just16px и 32px.Этот совет обманчив, потому что, как каждый может убедиться сам, значки уведомлений под большими шрифтами - это значки размером 20 пикселей, а LoadIconMetric
будет иметь масштаб от 32 до 20. Я бы рекомендовал использовать версии 16, 20, 24, 32 пикселей.
В XP LoadIconMetric
не существует, поэтому вам нужно будет выполнить процедуру восстановления.