У меня есть приложение с открытым исходным кодом, которое я написал для собственного использования, это программа чтения текста и буфера обмена для Microsoft Windows. Приложение, которое я без названия назвал TTSApp, можно найти на мой веб-сайт.
Приложение использует MFC и может быть построено либо с помощью Visual Studio 2013 или Visual Studio 2015, хотя изменение размера окна работает правильно только тогда, когда оно построено с помощью Visual Studio 2013. Оно использует MFC и, как следствие, не может быть легко перенесено на другие платформы или компиляторы.
В настоящее время он использует либо SAPI 5, либо Microsoft Speech Platform для речи.
У меня есть функция GetTitle, которая создает заголовок приложения, чтобы указать, какая конфигурация используется, SAPI или Microsoft Speech Platform и какая архитектура используется, x86 или x64. Например, название конфигурации платформы Microsoft Speech, созданной для платформы x64, называется «SnKOpen TTSApp — платформа Microsoft Speech — x64». Эта плитка используется как для заголовка окна диалогового окна, так и для имени приложения (значение, возвращаемое функцией, передается в конструктор класса CWinApp). Обратите внимание, что имя приложения используется для создания раздела реестра Windows, в котором хранятся параметры приложения.
Я не смог выяснить, как установить заголовок контекстного меню значка панели задач Windows 10. Следующий снимок экрана проиллюстрирует, что я имею в виду.
Я хотел бы установить TTSApp на изображении выше, чтобы он совпадал с заголовком диалогового окна.
Я пробовал звонить CWinApp :: SetAppID, который в свою очередь называет SetCurrentProcessExplicitAppUserModelID Функция Win32 API, из конструктора класса CTTSAppApp, но это не сработало.
Описание SetCurrentProcessExplicitAppUserModelID подразумевает, что это способ выполнить то, что я хочу, поскольку функция «Указывает уникальный определяемый приложением идентификатор модели приложения пользователя (AppUserModelID), который идентифицирует текущий процесс на панели задач».
Кто-нибудь есть какие-либо предложения о том, что я должен попытаться дальше?
Задача ещё не решена.
Других решений пока нет …