В Windows 10 Microsoft представила несколько новых голосов.
Тем не менее, они перечислены только в
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens\
Это означает, что они доступны только для 64-разрядных приложений, поскольку они не отображаются в списке установленных голосов при обращении к Microsoft.Speech в рамках NET.
Обходной путь - экспортировать раздел реестра и заменить все вхождения
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens\
с этим текстом
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\SPEECH\Voices\Tokens\
и затем импортируйте этот измененный раздел реестра в реестр.
Это делает голоса доступными и для 32-битных приложений.
Я хотел бы сделать это автоматически для всех доступных голосов Microsoft во время настройки моего приложения, а не только для этого одного голоса.
Выполнение этого для всех голосов означало бы перебирать реестр, видеть, какие голоса есть, проверять, принадлежат ли они Microsoft, проверять, существуют ли они уже в
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\SPEECH\Voices\Tokens\,
затем дублирует 64-битный ключ. Это довольно сложный процесс.
Какой рекомендуемый способ сделать это?
Должно ли это быть запрограммировано в приложении, а затем запускать это приложение во время установки?