Función SetDefaultLayoutOrTip
Establece el diseño de teclado especificado o un servicio de texto como elemento de entrada predeterminado del usuario actual.
Sintaxis
BOOL CALLBACK SetDefaultLayoutOrTip(
_In_ LPCWSTR psz,
_In_ LPCWSTR psz DWORD dwFlags
);
Parámetros
-
psz [in]
-
Cadena que representa una lista de diseño de teclado o una lista de perfiles de servicios de texto.
-
dwFlags [in]
-
Campo de bits que especifica las marcas siguientes.
Nota:
Los identificadores siguientes no se definen en un archivo de encabezado público. Debe usar el valor hexadecimal o incluir #define con los identificadores. Por ejemplo, para usar SDLOT_NOAPPLYTOCURRENTSESSION debe incluir #define SDLOT_NOAPPLYTOCURRENTSESSION 0x00000001 en el código.
Valor Significado - SDLOT_NOAPPLYTOCURRENTSESSION
- 0x00000001
Almacena la configuración en el registro, pero no actualiza la configuración del teclado en tiempo de ejecución de la sesión actual. Si la ruta de acceso alternativa del Registro se establece en SetDefaultLayoutOrTipUserReg, se debe establecer esta marca. - SDLOT_APPLYTOCURRENTTHREAD
- 0x00000002
Aplica la configuración inmediatamente en el subproceso actual.
Valor devuelto
Código devuelto | Descripción |
---|---|
|
La función se ha completado correctamente. |
|
Se ha producido un error no especificado. |
Comentarios
El formato de cadena de la lista de diseño es:
<LangID 1>:<KLID 1>;[...<LangID N>:<KLID N>
El formato de cadena de la lista de perfiles de servicio de texto es:
<LangID 1>:{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx};
A continuación se muestra un ejemplo de un valor para el parámetro psz:
"0x0407:0x00000407"
"0x0407:0x00000407;0x040C:0x0000040C"
"0x0407:0x00000407;0x0412:{A028AE76-01B1-46C2-99C4-ACD9858AE02F}{B5FE1F02-D5F2-4445-9C03-C568F23C99A1};0x040C:0x0000040C"
Ejemplos
No hay ninguna biblioteca de importación disponible que defina esta función, por lo que es necesario obtener un puntero a esta función mediante LoadLibrary y GetProcAddress. En el ejemplo siguiente se muestra cómo obtener un puntero a esta función.
Nota:
Usar LoadLibrary incorrectamente puede poner en peligro la seguridad de la aplicación al cargar el archivo DLL incorrecto. Consulte Orden de búsqueda de biblioteca de vínculos dinámicos para obtener información sobre cómo cargar correctamente archivos DLL con diferentes versiones de Microsoft Windows.
typedef HRESULT (WINAPI *PTF_ SETDEFAULTLAYOUTORTIP)(LPCWSTR psz);
HMODULE hInputDLL = LoadLibrary(TEXT("input.dll"));
BOOL bRet = FALSE;
if(hInputDLL == NULL)
{
// Error loading module; fail as securely as possible.
}
else
{
PTF_ SETDEFAULTLAYOUTORTIP pfnSetDefaultLayoutOrTip;
pfnSetDefaultLayoutOrTip = (PTF_ SETDEFAULTLAYOUTORTIP)GetProcAddress(hInputDLL, "SetDefaultLayoutOrTip");
if(pfnSetDefaultLayoutOrTip)
{
bRet = (*pfnSetDefaultLayoutOrTip)(psz);
}
FreeLibrary(hInputDLL);
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo compatible |
Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
Windows Server 2008 [solo aplicaciones de escritorio] |
Archivo DLL |
|