共用方式為


SetDefaultLayoutOrTipUserReg 函式

將指定的鍵盤配置或文字服務設定為使用者登錄的預設輸入專案。

語法

BOOL CALLBACK SetDefaultLayoutOrTipUserReg(
  _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]

指定下列旗標的 bitfield:

注意

公用頭檔中未定義下列標識碼。 您必須使用十六進位值或 #define 識別碼。 例如,若要使用SDLOT_NOAPPLYTOCURRENTSESSION您必須在程式代碼中包含 #define SDLOT_NOAPPLYTOCURRENTSESSION 0x00000001。

意義
SDLOT_NOAPPLYTOCURRENTSESSION
0x00000001
將設定儲存在登錄中,但不會更新目前會話的運行時間鍵盤設定。 如果在 SetDefaultLayoutOrTipUserReg設定替代登錄路徑,則應該設定此旗標。
SDLOT_APPLYTOCURRENTTHREAD
0x00000002
立即在目前線程上套用設定。

傳回值

傳回碼 描述
TRUE
函式成功。
發生未指定的錯誤。

備註

設定清單的字串格式為:

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

文字服務設定檔案清單的字串格式為:

<LangID 1>:{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxx}{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_ 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);
}

需求

需求
最低支援的用戶端
Windows Vista [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2008 [僅限傳統型應用程式]
DLL
Input.dll