SetDefaultLayoutOrTip 함수

지정된 키보드 레이아웃 또는 텍스트 서비스를 현재 사용자의 기본 입력 항목으로 설정합니다.

구문

BOOL CALLBACK SetDefaultLayoutOrTip(
  _In_ LPCWSTR           psz,
  _In_ LPCWSTR psz DWORD dwFlags
);

매개 변수

psz [in]

키보드 레이아웃 목록 또는 텍스트 서비스 프로필 목록을 나타내는 문자열입니다.

dwFlags [in]

다음 플래그를 지정하는 비트 필드입니다.

참고 항목

다음 식별자는 공용 헤더 파일에 정의되지 않습니다. 16진수 값을 사용하거나 식별자를 #define 합니다. 예를 들어 SDLOT_NOAPPLYTOCURRENTSESSION 사용하려면 코드에 #define SDLOT_NOAPPLYTOCURRENTSESSION 0x00000001 포함해야 합니다.

의미
SDLOT_NOAPPLYTOCURRENTSESSION
0x00000001
레지스트리에 설정을 저장하지만 현재 세션의 런타임 키보드 설정은 업데이트하지 않습니다. SetDefaultLayoutOrTipUserReg에서 대체 레지스트리 경로가 설정된 경우 이 플래그를 설정해야 합니다.
SDLOT_APPLYTOCURRENTTHREAD
0x00000002
현재 스레드에서 즉시 설정을 적용합니다.

반환 값

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

설명

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

<LangID 1>:<KLID 1>;[ ...<LangID N>:<KLID N>

텍스트 서비스 프로필 목록의 문자열 형식은 다음과 같습니다.

<LangID 1>:{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxx};

다음은 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_ 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);
}

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버
Windows Server 2008 [데스크톱 앱만 해당]
DLL
Input.dll