Использование Qt's Пример иконки в системном трее в качестве отправной точки ...
Вам необходимо добавить в проект файл systray.rc
и объявить его в файле проекта Qmake. (systray.pro
) примерно так:
RC_FILE = systray.rc
Эта строка будет указывать системе сборки компилировать файл systray.rc
с использованием компилятора ресурсов для создания файла systray.res
, который будет связан с программой systray.exe.
вот пример systray.rc
файл:
LANGUAGE 9, 1
1 VERSIONINFO
FILEVERSION 1, 0, 0, 0
PRODUCTVERSION 1, 0, 0, 0
FILEOS 4
FILETYPE 1
{
BLOCK "StringFileInfo"
{
BLOCK "040904E4"
{
VALUE "CompanyName", "Contoso"
VALUE "FileDescription", "SysTray demo program"
VALUE "FileVersion", "1.0.0.0"
VALUE "InternalName", "systray"
VALUE "LegalCopyright", "Copyright \251 2020 Your Name"
VALUE "OriginalFilename", "systray.exe"
VALUE "ProductName", "SysTray Demo"
VALUE "ProductVersion", "1.0.0"
}
}
BLOCK "VarFileInfo"
{
VALUE "Translation", 0x0409, 1252
}
}
LANGUAGE 10, 3
1 VERSIONINFO
FILEVERSION 1,0,0,0
PRODUCTVERSION 1,0,0,0
FILEOS 0x04
FILETYPE 0x1
{
BLOCK "StringFileInfo"
{
BLOCK "0C0A04E4"
{
VALUE "CompanyName", "Contoso"
VALUE "FileDescription", "Programa demostrativo SysTray"
VALUE "FileVersion", "1.0.0.0"
VALUE "InternalName", "systray"
VALUE "LegalCopyright", "Copyright \xA9 2020 Tu Nombre"
VALUE "OriginalFilename", "systray.exe"
VALUE "ProductName", "Demo SysTray"
VALUE "ProductVersion", "1.0.0"
}
}
BLOCK "VarFileInfo"
{
VALUE "Translation", 0x0C0A 0x04E4
}
}
Этот пример содержит два VERSIONINFO ресурсов блока, один на английском языке sh и еще один в испанском sh. В исполняемый файл systray.exe
будут встроены оба ресурса. Windows выберет один из них, чтобы предоставить пользователям свойства программы в Windows Explorer, а при отображении уведомлений о тостах значение FileDescription
станет вашим нижним колонтитулом. Вы не можете удалить его, но вы можете дать ему любое значение для каждого языка.
Windows определяет, какой ресурс отображать автоматически, в зависимости от конфигурации Windows. Может быть хорошей идеей включить один блок для LANG_NEUTRAL
(0, нейтральный язык). См. константы идентификатора языка .