Bagikan melalui


Menemukan String yang Dialihkan

Topik ini membahas instruksi pemrograman untuk menemukan string registri yang dialihkan. Untuk informasi selengkapnya, lihat Menggunakan Pengalihan String Registri.

Memuat Nilai Registri Language-Neutral

Pada Windows Vista dan yang lebih baru, aplikasi MUI menggunakan nilai registri netral bahasa untuk memungkinkan akses ke string khusus bahasa yang disimpan dalam tabel sumber daya string. Untuk informasi selengkapnya, lihat Membuat Sumber Daya Language-Neutral dalam Menggunakan Pengalihan String Registri.

Kode aplikasi yang membaca nilai netral bahasa dari registri harus memuat string dalam bahasa antarmuka pengguna yang benar dengan memanggil RegLoadMUIStringW. Jika menggunakan fungsi ini, aplikasi Anda tidak harus berurusan secara eksplisit dengan pemuatan sumber daya.

Jika Anda memperbarui aplikasi yang ada ke penggunaan registri netral bahasa, Anda biasanya akan menyimpan nilai string yang ada, dilokalkan ke bahasa Inggris atau ke beberapa bahasa tunggal lainnya dalam registri, sebagai fallback dan untuk kompatibilitas mundur. Menyimpan string harfiah dalam registri memungkinkan aplikasi untuk kembali ke string harfiah jika panggilan ke RegLoadMUIStringW gagal. Anda harus memutuskan cara menerapkan fallback seperti itu, karena MUI tidak memberikan dukungan untuk implementasi tersebut.

Menggunakan Api Shell untuk Mengatur String Pintasan dari Registri

Aplikasi Anda dapat menggunakan API shell untuk membuat string untuk pintasan yang menautkan file atau folder di menu Mulai atau di desktop. Untuk informasi selengkapnya, lihat Membuat Sumber Daya untuk String Pintasan dalam Menggunakan Pengalihan String Registri.

Aplikasi dapat menggunakan SHSetLocalizedName untuk memuat nama tampilan yang mematuhi MUI untuk pintasan. Ini harus menggunakan IShellLink::SetDescription untuk mengatur InfoTip terkait. Panggilan mendaftarkan string dengan registri. Pertimbangkan contoh berikut, yang "HKCR" mewakili kunci registri HKEY_CLASSES_ROOT:

HKCR,"CLSID\%CLSID_AntiSpyware%",,,"Windows AntiSpyware"

HKCR,"CLSID\%CLSID_AntiSpyware%","LocalizedString",,"@%ProgramFiles%\Windows AntiSpyware\MSASCui.exe,-104"

HKCR,"CLSID\%CLSID_AntiSpyware%","InfoTip",,"@%ProgramFiles%\Windows AntiSpyware\MSASCui.exe,-208"

Baris pertama menyediakan string literal yang tidak dilokalkan untuk kompatibilitas mundur dan mundur. Baris kedua menunjukkan cara yang sesuai dengan MUI untuk mendaftarkan nama tampilan. Baris ini menunjukkan pengidentifikasi string 104 yang disimpan di Msascui.exe (untuk Windows XP) atau dalam file khusus bahasa terkait (untuk Windows Vista). Pengidentifikasi string ini sesuai dengan "Tempat Jaringan Saya". Baris ketiga dalam contoh menangani pendaftaran InfoTip. %CLSID_AntiSpyware% menentukan variabel lingkungan yang mewakili GUID yang cocok dengan pengidentifikasi kelas komponen ini.

Untuk contoh yang ditunjukkan di atas, aplikasi memanggil SHSetLocalizedName untuk menentukan jalur yang dapat dieksekusi untuk dua parameter pertama, dan menentukan idsRes sebagai "@%ProgramFiles%\Windows AntiSpyware\MSASCui.exe,104". Panggilan ke IShellLink::SetDescription, menentukan jalur untuk InfoTip sebagai "@%ProgramFiles%\Windows AntiSpyware\MSASCui.exe,208".

Nama Tipe Dokumen Ramah Kueri di Registri

Pembuatan sumber daya untuk nama jenis dokumen yang ramah dibahas dalam Membuat Sumber Daya untuk Nama Jenis Dokumen yang Ramah dalam Menggunakan Pengalihan String Registri. Untuk mengkueri nama dokumen yang mudah diingat, aplikasi harus menggunakan IQueryAssociations::Init, diikuti dengan panggilan ke IQueryAssociations::GetString. Panggilan ke IQueryAssociations::Init menentukan jenis dokumen, misalnya, ".txt". Panggilan ke IQueryAssociations::GetString harus menentukan ASSOCSTR_FRIENDLYDOCNAME sebagai pengidentifikasi string.

Daftarkan String Snap-in Konsol Manajemen Microsoft yang Tidak Dibaca dari Registri

Aplikasi Anda dapat menggunakan snap-in Microsoft Management Console (MMC) untuk menghosting tugas manajemennya. Sebagian besar string ditangani sebagai sumber daya menggunakan pengaturan registri yang dijelaskan dalam Membuat Sumber Daya String untuk Konsol Manajemen Microsoft Snap-Ins dalam Menggunakan Pengalihan String Registri. Namun, beberapa snap-in mendaftarkan nilai string registri yang tidak dapat dibaca MMC dari registri. Dalam hal ini, snap-in harus mendapatkan nilai menggunakan antarmuka ISnapinAbout , yang kompatibel dengan MUI.

Mengatur Nama tampilan dan Deskripsi untuk Layanan Windows dari Registri

Jika aplikasi MUI Anda menggunakan layanan Windows, aplikasi tersebut harus menampilkan nama dan deskripsi tampilan layanan. Sumber daya terkait dibahas dalam "Membuat Sumber Daya String untuk Layanan Windows" dalam Menggunakan Pengalihan String Registri.

Untuk mengatur nama tampilan layanan, aplikasi MUI memanggil CreateService atau ChangeServiceConfig. Nama adalah string formulir "@<PE-path>,-<stringID>[;<comment>]". Misalnya, jika layanan Anda diimplementasikan oleh file .dll dengan jalur %ProgramFiles%\%MyPath%\MyDll.dll, dan pengidentifikasi string dari nama tampilan khusus bahasa adalah 347, parameter ditentukan sebagai "@%ProgramFiles%\\%MyPath%\\MyDll.dll,-347". Garis miring terbalik ganda (\\) diperlukan karena C/C++ menggunakan garis miring terbalik sebagai karakter escape dalam string.

Untuk mengatur deskripsi layanan khusus bahasa, aplikasi MUI harus membuat anggota lpDescription dari struktur SERVICE_DESCRIPTION menunjukkan string formulir "@<PE-path>,-<stringID>[;<comment>]", mereferensikan pengidentifikasi string yang sesuai. Kemudian aplikasi memanggil ChangeServiceConfig2 dengan parameter dwInfoLevel yang ditentukan sebagai SERVICE_CONFIG_DESCRIPTION dan parameter lpInfo yang ditentukan sebagai struktur SERVICE_DESCRIPTION .

Menemukan Sumber Daya Win32 PE

Menggunakan Pengalihan String Registri