Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Define o layout de teclado especificado ou um serviço de texto como um item de entrada padrão do registro do usuário.
Sintaxe
BOOL CALLBACK SetDefaultLayoutOrTipUserReg(
_In_opt_ LPCWSTR pszUserReg,
_In_opt_ LPCWSTR pszSystemReg,
_In_opt_ LPCWSTR pszSoftwareReg,
_In_ LPCWSTR psz,
_In_ DWORD dwFlags
);
Parâmetros
-
pszUserReg [in, opcional]
-
O caminho do registro do usuário. Se esse parâmetro for NULL, HKEY_CURRENT_USER será usado.
-
pszSystemReg [in, opcional]
-
O caminho do registro do sistema. Se esse parâmetro for NULL, HKEY_LOCAL_MACHINE\System será usado.
-
pszSoftwareReg [in, opcional]
-
O caminho do registro do software. Se esse parâmetro for NULL, HKEY_LOCAL_MACHINE\Software será usado.
-
psz [in]
-
Uma cadeia de caracteres que representa a lista de layout de teclado ou lista de perfis de serviços de texto.
-
dwFlags [in]
-
Um campo de bits que especifica os sinalizadores a seguir:
Observação
Os identificadores a seguir não são definidos em um arquivo de cabeçalho público. Você deve usar o valor hexadecimal ou #define os identificadores. Por exemplo, para usar SDLOT_NOAPPLYTOCURRENTSESSION você deve incluir #define SDLOT_NOAPPLYTOCURRENTSESSION 0x00000001 em seu código.
Valor Significado - SDLOT_NOAPPLYTOCURRENTSESSION
- 0x00000001
Armazena a configuração no registro, mas não atualiza a configuração de teclado de runtime da sessão atual. Se o caminho alternativo do Registro for definido em SetDefaultLayoutOrTipUserReg, este sinalizador deverá ser definido. - SDLOT_APPLYTOCURRENTTHREAD
- 0x00000002
Aplica a configuração imediatamente no thread atual.
Valor retornado
| Código de retorno | Descrição |
|---|---|
|
A função foi bem-sucedida. |
|
Ocorreu um erro não especificado. |
Comentários
O formato de cadeia de caracteres da lista de layout é:
<LangID 1>:<KLID 1>;[...<LangID N>:<KLID N>
O formato de cadeia de caracteres da lista de perfis do serviço de texto é:
<LangID 1>:{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx};
Veja a seguir um exemplo de um valor para o parâmetro psz:
"0x0407:0x00000407"
"0x0407:0x00000407;0x040C:0x0000040C"
"0x0407:0x00000407;0x0412:{A028AE76-01B1-46C2-99C4-ACD9858AE02F}{B5FE1F02-D5F2-4445-9C03-C568F23C99A1};0x040C:0x0000040C"
Exemplos
Não há nenhuma biblioteca de importação disponível que defina essa função, portanto, é necessário obter um ponteiro para essa função usando LoadLibrary e GetProcAddress. O exemplo a seguir demonstra como obter um ponteiro para essa função.
Observação
Usar LoadLibrary incorretamente pode comprometer a segurança do aplicativo carregando a DLL errada. Confira Ordem de pesquisa da biblioteca de vínculo dinâmico para obter informações sobre como carregar corretamente DLLs com diferentes versões do Microsoft Windows.
typedef HRESULT (
WINAPI *PTF_ SETDEFAULTLAYOUTORTIPUSERREG)( LPCWSTR pszUserReg,
LPCWSTR pszSystemReg,
LPCWSTR pszSoftwareReg,
LPCWSTR psz);
HMODULE hInputDLL = LoadLibrary(TEXT("input.dll"));
BOOL bRet = FALSE;
if(hInputDLL == NULL)
{
//Error loading module -- fail as securely as possible
}
else
{
PTF_ SETDEFAULTLAYOUTORTIPUSERREG pfnSetDefaultLayoutOrTipUserReg;
pfnSetDefaultLayoutOrTipUserReg = (PTF_ SETDEFAULTLAYOUTORTIPUSERREG)GetProcAddress(hInputDLL, "SetDefaultLayoutOrTipUserReg");
if(pfnSetDefaultLayoutOrTipUserReg)
{
bRet = (*pfnSetDefaultLayoutOrTipUserReg)( pszUserReg, pszSystemReg, pszSoftwareReg, psz);
}
FreeLibrary(hInputDLL);
}
Requisitos
| Requisito | Valor |
|---|---|
| Cliente mínimo com suporte |
Windows Vista [somente aplicativos da área de trabalho] |
| Servidor mínimo com suporte |
Windows Server 2008 [somente aplicativos da área de trabalho] |
| DLL |
|