Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este tópico discute instruções de programação para localizar cadeias de caracteres do Registro redirecionadas. Para obter mais informações, consulte Usando o redirecionamento de cadeia de caracteres do Registro.
Carregar um Valor de Registo Language-Neutral
No Windows Vista e versões posteriores, o aplicativo MUI usa um valor do Registro com neutralidade de idioma para permitir o acesso a cadeias de caracteres específicas do idioma armazenadas em uma tabela de recursos de cadeia de caracteres. Para obter mais informações, consulte Criar um recurso de Language-Neutral em Usando o Redirecionamento de Cadeia de Caracteres do Registro.
O código da aplicação que lê o valor neutro de idioma do registo deve carregar as strings no idioma correto da interface do utilizador ao chamar RegLoadMUIStringW. Se estiver usando essa função, seu aplicativo não precisará lidar explicitamente com o carregamento de recursos.
Se estiver a atualizar uma aplicação existente para o uso neutro de idioma do Registo, normalmente manterá os valores de cadeia de caracteres existentes, localizados em inglês ou em algum outro idioma único no Registo, como opções de recurso e para compatibilidade com versões anteriores. Manter uma cadeia de caracteres literal no registro permite que o aplicativo volte para a cadeia de caracteres literal se uma chamada para RegLoadMUIStringW falhar. Você deve decidir como implementar tal fallback, pois o MUI não fornece suporte para tal implementação.
Usar a API do Shell para definir cadeias de caracteres de atalho do Registo
Seu aplicativo pode usar a API do shell para criar cadeias de caracteres para atalhos que vinculam arquivos ou pastas no menu Iniciar ou na área de trabalho. Para obter mais informações, consulte Criar recursos para cadeias de caracteres de atalho em Usando o redirecionamento de cadeia de caracteres do Registro.
O aplicativo pode usar SHSetLocalizedName para carregar o nome de exibição compatível com MUI para um atalho. Ele deve usar IShellLink::SetDescription para definir a InfoTip associada. As chamadas registram as cadeias de caracteres com o registro. Considere os seguintes exemplos, para os quais "HKCR" representa a chave do Registro HKEY_CLASSES_ROOT:
HKCR,"CLSID\%CLSID_AntiSpyware%",,,"Windows AntiSpyware"
HKCR,"CLSID\%CLSID_AntiSpyware%","LocalizedString",,"@%ProgramFiles%\Windows AntiSpyware\MSASCui.exe,-104"
HKCR,"CLSID\%CLSID_AntiSpyware%","InfoTip",,"@%ProgramFiles%\Windows AntiSpyware\MSASCui.exe,-208"
A primeira linha fornece uma cadeia de caracteres literal não localizada para fallback e compatibilidade com versões anteriores. A segunda linha mostra a maneira compatível com MUI de registrar o nome de exibição. Esta linha indica o identificador de cadeia de caracteres 104 armazenado no Msascui.exe (para Windows XP) ou em seu arquivo específico de idioma associado (para Windows Vista). Este identificador de cadeia de caracteres corresponde a "Meus locais de rede". A terceira linha no exemplo lida com o registro InfoTip. %CLSID_AntiSpyware% especifica uma variável de ambiente que representa o GUID que corresponde ao identificador de classe desse componente.
Para o exemplo mostrado acima, o aplicativo chama SHSetLocalizedName para especificar o caminho do executável para os dois primeiros parâmetros e especificar idsRes como "@%ProgramFiles%\Windows AntiSpyware\MSASCui.exe,104". Uma chamada para IShellLink::SetDescriptionespecifica o caminho para o InfoTip como "@%ProgramFiles%\Windows AntiSpyware\MSASCui.exe,208".
Nomes de tipo de documento amigáveis para consulta no Registro
A criação de recursos para nomes de tipos de documento amigáveis é discutida em Criar Recursos para Nomes de Tipo de Documento Amigáveis em Usando a Redireção de Cadeia de Caracteres do Registo. Para consultar um nome de documento amigável, o aplicativo deve usar IQueryAssociations::Init, seguido por uma chamada para IQueryAssociations::GetString. A chamada para IQueryAssociations::Init especifica o tipo de documento, por exemplo, ".txt". A chamada para IQueryAssociations::GetString deve especificar ASSOCSTR_FRIENDLYDOCNAME como o identificador da cadeia de caracteres.
Registrar cadeias de caracteres de snap-in do Console de Gerenciamento Microsoft não lidas do Registro
Seu aplicativo pode usar um snap-in do MMC (Console de Gerenciamento Microsoft) para hospedar suas tarefas de gerenciamento. A maioria das cadeias de caracteres são tratadas como recursos usando as configurações do Registro descritas em Criar recursos de cadeia de caracteres para o Console de Gerenciamento Microsoft Snap-Ins em Usando o Redirecionamento de Cadeia de Caracteres do Registro. No entanto, alguns snap-ins registam valores de strings no Registo que o MMC não consegue ler. Nesse caso, o snap-in deve obter os valores usando a interface ISnapinAbout, que é compatível com MUI.
Definir o Nome para Exibição e a Descrição de um Serviço do Windows a partir do Registro
Se seu aplicativo MUI estiver usando um serviço do Windows, ele deverá exibir o nome para exibição e a descrição do serviço. Os recursos associados são discutidos em "Criar recursos de texto para um serviço do Windows" em Usando o redirecionamento de texto do Registro.
Para definir o nome de exibição do serviço, o aplicativo MUI chama CreateService ou ChangeServiceConfig. O nome é uma cadeia de caracteres da forma "@<PE-path>,-<stringID>[;<comment>]". Por exemplo, se o serviço for implementado por um arquivo .dll com caminho %ProgramFiles%\%MyPath%\MyDll.dlle o identificador de cadeia de caracteres do nome de exibição específico do idioma for 347, o parâmetro será especificado como "@%ProgramFiles%\\%MyPath%\\MyDll.dll,-347". As barras invertidas duplas (\\) são necessárias porque C/C++ usa a barra invertida como um caractere de escape em cadeias de caracteres.
Para definir a descrição do serviço específico do idioma, o aplicativo MUI deve fazer com que o membro lpDescription de uma estrutura SERVICE_DESCRIPTION indique uma cadeia de caracteres no formato "@<PE-path>,-<stringID>[;<comment>]", referenciando o identificador de cadeia de caracteres apropriado. Em seguida, o aplicativo chama ChangeServiceConfig2 com parâmetro dwInfoLevel especificado como SERVICE_CONFIG_DESCRIPTION e parâmetro lpInfo especificado como a estrutura SERVICE_DESCRIPTION.
Tópicos relacionados