Compartir a través de


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
VERDADERO
La función se ha completado correctamente.
FALSO
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
Input.dll