В Windows 10, как мне перевести нижний колонтитул в трее уведомлений? - PullRequest
0 голосов
/ 07 февраля 2020

По этому вопросу: Как установить нижний колонтитул Windows всплывающей подсказки? - как мне перевести нижний колонтитул всплывающей подсказки в трее? У меня есть многоязычное приложение, которое будет иметь один файл .exe. Чего я хотел бы добиться, так это чтобы нижний колонтитул был переведен на соответствующий язык (рассчитанный самим приложением на основе нескольких факторов). Итак, как мне программно установить нижний колонтитул на произвольный текст?

Если это невозможно, возможно ли просто полностью скрыть нижний колонтитул?

1 Ответ

0 голосов
/ 08 февраля 2020

Использование 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, нейтральный язык). См. константы идентификатора языка .

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