Fungsi SetDefaultLayoutOrTipUserReg

Mengatur tata letak keyboard yang ditentukan atau layanan teks sebagai item input default registri pengguna.

Sintaks

BOOL CALLBACK SetDefaultLayoutOrTipUserReg(
  _In_opt_ LPCWSTR pszUserReg,
  _In_opt_ LPCWSTR pszSystemReg,
  _In_opt_ LPCWSTR pszSoftwareReg,
  _In_     LPCWSTR psz,
  _In_     DWORD   dwFlags
);

Parameter

pszUserReg [in, opsional]

Jalur registri pengguna. Jika parameter ini NULL, HKEY_CURRENT_USER digunakan.

pszSystemReg [in, opsional]

Jalur registri sistem. Jika parameter ini NULL, HKEY_LOCAL_MACHINE\System digunakan.

pszSoftwareReg [in, opsional]

Jalur registri perangkat lunak. Jika parameter ini NULL, HKEY_LOCAL_MACHINE\Software digunakan.

psz [in]

String yang mewakili daftar tata letak keyboard atau daftar profil layanan teks.

dwFlags [in]

Bitfield yang menentukan bendera berikut:

Catatan

Pengidentifikasi berikut tidak ditentukan dalam file header publik. Anda harus menggunakan nilai heksadesimal atau #define pengidentifikasi. Misalnya, untuk menggunakan SDLOT_NOAPPLYTOCURRENTSESSION Anda harus menyertakan #define SDLOT_NOAPPLYTOCURRENTSESSION 0x00000001 dalam kode Anda.

Value Makna
SDLOT_NOAPPLYTOCURRENTSESSION
0x00000001
Menyimpan pengaturan dalam registri tetapi tidak memperbarui pengaturan keyboard runtime sesi saat ini. Jika jalur registri alternatif diatur di SetDefaultLayoutOrTipUserReg, bendera ini harus diatur.
SDLOT_APPLYTOCURRENTTHREAD
0x00000002
Menerapkan pengaturan segera pada utas saat ini.

Nilai hasil

Mengembalikan kode Deskripsi
BENAR
Fungsi berhasil.
SALAH
Terjadi kesalahan yang tidak ditentukan.

Keterangan

Format string daftar tata letak adalah:

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

Format string daftar profil layanan teks adalah:

<LangID 1>:{xxxxxxxx-xxxx-xxxx-xxxx-xxxx}{xxxxxxxx-xxxx-xxxx-xxxx-xx};

Berikut ini adalah contoh nilai untuk parameter psz :

"0x0407:0x00000407"
"0x0407:0x00000407;0x040C:0x0000040C"
"0x0407:0x00000407;0x0412:{A028AE76-01B1-46C2-99C4-ACD9858AE02F}{B5FE1F02-D5F2-4445-9C03-C568F23C99A1};0x040C:0x0000040C"

Contoh

Tidak ada pustaka impor yang tersedia yang menentukan fungsi ini, sehingga perlu untuk mendapatkan penunjuk ke fungsi ini menggunakan LoadLibrary dan GetProcAddress. Contoh berikut menunjukkan cara mendapatkan penunjuk ke fungsi ini.

Catatan

Menggunakan LoadLibrary salah dapat membahayakan keamanan aplikasi Anda dengan memuat DLL yang salah. Lihat Urutan Pencarian Pustaka Dynamic-Link untuk informasi tentang cara memuat DLL dengan benar dengan versi Microsoft Windows yang berbeda.

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);
}

Persyaratan

Persyaratan Value
Klien minimum yang didukung
Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung
Windows Server 2008 [hanya aplikasi desktop]
DLL
Input.dll