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]
-
次のフラグを指定するビットフィールド。
Note
次の識別子は、パブリック ヘッダー ファイルでは定義されていません。 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-xxxxxxxxxxxx}{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx};
psz パラメーターの値の例を次に示します。
"0x0407:0x00000407"
"0x0407:0x00000407;0x040C:0x0000040C"
"0x0407:0x00000407;0x0412:{A028AE76-01B1-46C2-99C4-ACD9858AE02F}{B5FE1F02-D5F2-4445-9C03-C568F23C99A1};0x040C:0x0000040C"
例
この関数を定義するインポート ライブラリがないため、 LoadLibrary と GetProcAddress を使用してこの関数へのポインターを取得する必要があります。 次の例では、この関数へのポインターを取得する方法を示します。
Note
LoadLibrary を誤って使用すると、間違った DLL を読み込むことで、アプリケーションのセキュリティが損なわれる可能性があります。 異なるバージョンの Microsoft Windows で DLL を正しく読み込む方法については、「 ダイナミック リンク ライブラリの検索順序 」を参照してください。
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] |
|