Función SetDefaultLayoutOrTipUserReg
Establece la distribución del teclado especificada o un servicio de texto como elemento de entrada predeterminado del registro de usuario.
Sintaxis
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]
-
Ruta de acceso del registro del usuario. Si este parámetro es NULL, se usa HKEY_CURRENT_USER.
-
pszSystemReg [in, opcional]
-
Ruta de acceso del registro del sistema. Si este parámetro es NULL, se usa HKEY_LOCAL_MACHINE\System.
-
pszSoftwareReg [in, opcional]
-
Ruta de acceso del registro del software. Si este parámetro es NULL, se usa HKEY_LOCAL_MACHINE\Software.
-
psz [in]
-
Cadena que representa la lista de diseño de teclado o la 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_ 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 compatible |
Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
Windows Server 2008 [solo aplicaciones de escritorio] |
Archivo DLL |
|