Отображение имени компьютера и ip-адреса на панели задач1
Всем привет, захотелось мне сделать отображение имени компьютера и его ip-адреса на панели задач. Сразу покажу как это будет выглядеть.
Знаю, что есть программа BgInfo, которая выводит информацию на рабочий стол, но по моему это очень неудобно. Вывод на панель задач на много удобнее.
Одним из самых сложных моментов было понять что искать, как оказалось эта часть панели задач называется deskbands и у microsoft уже есть шаблон для вывода информации на нее. Он лежит по этой ссылке. Написан на с++, компилируется в виде dll. Напрямую с гитхаба не скачать, можно скачать отсюда.
Теперь опишу какие переменные за что отвечают.
Название, отображаемое в меню Панели, указывается в файле DllMain.cpp в массиве WCHAR const szName[].
Основные изменения производятся в файле DeskBand.cpp. Размеры области для вывода указывается в переменных: pdbi->ptMinSize.x,
pdbi->ptMinSize.y,
pdbi->ptActual.x,
pdbi->ptActual.y.
Цвет текста задается в переменной:
dttOpts.crText.
Если оставить строку:
dttOpts.iGlowSize.
Будет эффект светящейся обводки вокруг текста, я ее закомментировал.
В шаблоне microsoft
static WCHAR szContent[] = L"DeskBand Sample";
в этом массиве указывается текст, который будет выведен в deskband. В моем варианте она убрана, пришлось переработать вывод.
Саму dll, как и код, для вывода имени хоста и ip выложил на гитхаб.
Для запуска нужно зарегистрировать dll через командную строку с правами администратора командой regsvr32 ПОЛНЫЙПУТЬ/Deskband_Hostname_Ip_64.dll или regsvr32 ПОЛНЫЙПУТЬ/Deskband_Hostname_Ip_32.dll соответственно.
Затем нажать ПКМ по панели задач -> Панели.
В этот момент она еще не появится, нужно еще раз нажать ПКМ по панели задач и открыть панели, затем поставить галочку у названия, как на скрине выше.
Если меняется ip или имя компа, то изменения на панели будут после ее перезапуска или после перезагрузки компьютера.
Надеюсь кому-нибудь будет полезно.
p.s. Не понял как сделать, чтоб надпись была в две строки, может кто подскажет?