InstallLayoutOrTipUserReg 함수
지정된 사용자에 대해 지정된 키보드 레이아웃 또는 텍스트 서비스를 사용하도록 설정합니다.
구문
BOOL CALLBACK InstallLayoutOrTipUserReg(
_In_opt_ LPCWSTR pszUserReg,
_In_opt_ LPCWSTR pszSystemReg,
_In_opt_ LPCWSTR pszSoftwareReg,
_In_ LPCWSTR psz,
_In_ DWORD dwFlags
);
매개 변수
-
pszUserReg [in, optional]
-
사용자의 레지스트리 경로입니다. 이 매개 변수가 NULL이면 HKEY_CURRENT_USER 사용됩니다.
-
pszSystemReg [in, optional]
-
시스템의 레지스트리 경로입니다. 이 매개 변수가 NULL이면 HKEY_LOCAL_MACHINE\System 사용됩니다.
-
pszSoftwareReg [in, optional]
-
소프트웨어의 레지스트리 경로입니다. 이 매개 변수가 NULL이면 HKEY_LOCAL_MACHINE\Software 사용됩니다.
-
psz [in]
-
키보드 레이아웃 목록 또는 텍스트 서비스 프로필 목록을 나타내는 문자열입니다.
-
dwFlags [in]
-
다음 플래그를 지정하는 비트 필드입니다.
참고
다음 식별자는 공용 헤더 파일에 정의되어 있지 않습니다. 16진수 값을 사용하거나 식별자를 #define 합니다. 예를 들어 ILOT_UNINSTALL 사용하려면 코드에 를 포함
#define ILOT_UNINSTALL 0x00000001
해야 합니다.값 의미 - ILOT_UNINSTALL
- 0x00000001
ILOT_DISABLED 동일합니다. - ILOT_DEFPROFILE
- 0x00000002
지정된 레이아웃 또는 팁을 기본 항목으로 설정합니다. - ILOT_NOAPPLYTOCURRENTSESSION
- 0x00000020
설정은 저장되지만 현재 세션에는 적용되지 않습니다. - ILOT_CLEANINSTALL
- 0x00000040
현재 키보드 레이아웃 및 텍스트 서비스를 모두 사용하지 않도록 설정합니다. - ILOT_DISABLED
- 0x00000080
지정된 키보드 레이아웃 및 텍스트 서비스를 사용하지 않도록 설정합니다.
반환 값
반환 코드 | 설명 |
---|---|
|
함수가 성공했습니다. |
|
지정되지 않은 오류가 발생했습니다. |
설명
레이아웃 목록의 문자열 형식은 다음과 같습니다.
<LangID 1>:<KLID 1>;[ ...< LangID N>:<KLID N>
텍스트 서비스 프로필 목록의 문자열 형식은 다음과 같습니다.
<LangID 1>:{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx}{xxxxxxxx-xxxx-xxxx-xxxx-xx};
다음은 psz 매개 변수 값의 예입니다.
"0x0407:0x00000407"
"0x0407:0x00000407;0x040C:0x0000040C"
"0x0407:0x00000407;0x0412:{A028AE76-01B1-46C2-99C4-ACD9858AE02F}{B5FE1F02-D5F2-4445-9C03-C568F23C99A1};0x040C:0x0000040C"
예제
이 함수를 정의하는 가져오기 라이브러리는 사용할 수 없으므로 LoadLibrary 및 GetProcAddress를 사용하여 이 함수에 대한 포인터를 가져와야 합니다. 다음 예제에서는 이 함수에 대한 포인터를 가져오는 방법을 보여 줍니다.
참고
LoadLibrary를 잘못 사용하면 잘못된 DLL을 로드하여 애플리케이션의 보안을 손상할 수 있습니다. 다양한 버전의 Microsoft Windows에서 DLL을 올바르게 로드하는 방법에 대한 자세한 내용은 Dynamic-Link 라이브러리 검색 순서 를 참조하세요.
typedef HRESULT (
WINAPI *PTF_ INSTALLLAYOUTORTIPUSERREG)(LPCWSTR pszUserReg,
LPCWSTR pszSystemReg,
LPCWSTR pszSoftwareReg,
LPCWSTR psz,
DWORD dwFlasg);
HMODULE hInputDLL = LoadLibrary(TEXT("input.dll"));
BOOL bRet = FALSE;
if(hInputDLL == NULL)
{
// Error loading module; fail as securely as possible.
}
else
{
PTF_ INSTALLLAYOUTORTIPUSERREG pfnInputLayoutOrTipUserReg;
pfnInputLayoutOrTipUserReg = (PTF_ INSTALLLAYOUTORTIPUSERREG)GetProcAddress(hInputDLL, "InputLayoutOrTipUserReg");
if(pfnInputLayoutOrTipUserReg)
{
bRet = (*pfnInputLayoutOrTipUserReg)(pszUserReg, pszSystemReg, pszSoftwareReg, psz, dwFlags);
}
FreeLibrary(hInputDLL);
}
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 |
Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 |
Windows Server 2008 [데스크톱 앱만 해당] |
DLL |
|