다음을 통해 공유


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
지정된 키보드 레이아웃 및 텍스트 서비스를 사용하지 않도록 설정합니다.

반환 값

반환 코드 설명
TRUE
함수가 성공했습니다.
FASE
지정되지 않은 오류가 발생했습니다.

설명

레이아웃 목록의 문자열 형식은 다음과 같습니다.

<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"

예제

이 함수를 정의하는 가져오기 라이브러리는 사용할 수 없으므로 LoadLibraryGetProcAddress를 사용하여 이 함수에 대한 포인터를 가져와야 합니다. 다음 예제에서는 이 함수에 대한 포인터를 가져오는 방법을 보여 줍니다.

참고

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
Input.dll