Bagikan melalui


Cara Mendaftarkan Handler Pratinjau

Topik ini menjelaskan cara mendaftarkan handler pratinjau yang terkait dengan jenis data tertentu. Untuk tujuan ilustrasi, contoh dalam topik ini menggunakan jenis file .xyz. Pendaftaran handler pratinjau adalah pendaftaran berbasis asosiasi file standar.

Petunjuk

Langkah 1:

Pertama, ekstensi nama file dikaitkan dengan ProgID. Entri berikut mengaitkan subkey ProgID xyzfile dengan ekstensi nama file .xyz.

HKEY_CLASSES_ROOT
   .xyz
      (Default) = [REG_SZ] xyzfile

Subkey ProgID xyzfile disimpan dengan ProgID lainnya seperti yang ditunjukkan di sini:

HKEY_CLASSES_ROOT
   xyzfile

Setiap handler pratinjau Subkunci ProgID berisi subkunci bernama shellex yang berisi subkunci yang selalu bernama {8895b1c6-b41f-4c1c-a562-0d564250836f}. Kehadiran subkunjuk itu memberi tahu sistem bahwa handler adalah handler pratinjau.

Nilai default subkunci {8895b1c6-b41f-4c1c-a562-0d564250836f} adalah pengidentifikasi kelas (CLSID) dari handler Anda. Contoh subkunci ProgID xyzfile ditampilkan di sini, mengaitkan handler CLSID {ec3a629a-a47c-4245-bc78-b4b63d0e3154}.

HKEY_CLASSES_ROOT
   xyzfile
      shellex
         {8895b1c6-b41f-4c1c-a562-0d564250836f}
            (Default) = [REG_SZ] {ec3a629a-a47c-4245-bc78-b4b63d0e3154}

Langkah 2:

Selanjutnya, tambahkan subkey di bawah CLSID untuk handler pratinjau Anda. Contoh ditunjukkan di sini. Penjelasan entri individu berikut.

HKEY_CLASSES_ROOT
   CLSID
      {ec3a629a-a47c-4245-bc78-b4b63d0e3154}
         (Default) = [REG_SZ] Fabricam XYZ Preview Handler
         DisplayName = [REG_SZ] @myhandler.dll,-101
         Icon = [REG_SZ] myhandler.dll,201
         AppID = [REG_SZ] {6d2b5079-2f0b-48dd-ab7f-97cec514d30b}
         InprocServer32
            (Default) = [REG_EXPAND_SZ] %ProgramFiles%\Fabricam\myhandler.dll
            ThreadingModel = [REG_SZ] Apartment
            ProgID = [REG_SZ] xyzfile
            VersionIndependentProgID = [REG_SZ] Version IndependentProgID

Nilai default untuk subkunci Anda (di sini, {ec3a629a-a47c-4245-bc78-b4b63d0e3154}) tidak diperlukan atau digunakan. Namun, mengaturnya ke string nonlokalisasi dapat membantu Anda men-debug masalah pendaftaran.

Tanda minus (-101) di sumber daya .dll dalam entri DisplayName ada karena alasan warisan. Entri Ikon, di sisi lain, tidak memerlukan tanda minus.

Nilai AppID memberikan referensi ke AppID aplikasi yang terkait dengan ekstensi nama file (disimpan di bawah HKEY_CLASSES_ROOT\APPID. Nilai yang digunakan di sini—{6d2b5079-2f0b-48dd-ab7f-97cec514d30b}—adalah ID host pengganti Prevhost.exe. Penangan pratinjau 32-bit harus menggunakan AppID {534A1E02-D58F-44f0-B58B-36CBED287C7C} saat diinstal pada sistem operasi 64-bit.

Entri di bawah subkunci InprocServer32 menyertakan referensi kembali ke subkunci ProgID ekstensi nama file serta entri untuk VersionIndependentProgID.

Langkah 3:

Terakhir, handler pratinjau harus ditambahkan ke daftar semua penangan pratinjau. Daftar ini digunakan sebagai pengoptimalan oleh sistem untuk menghitung semua penangan pratinjau terdaftar untuk tujuan tampilan. Sekali lagi, nilai default tidak diperlukan, itu hanya membantu dalam proses debugging.

Catatan

Di Windows 7, jika aplikasi diinstal untuk semua pengguna komputer, gunakan HKEY_LOCAL_MACHINE; jika hanya untuk satu pengguna, gunakan HKEY_CURRENT_USER.

 

HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER
   SOFTWARE
      Microsoft
         Windows
            CurrentVersion
               PreviewHandlers
                  {ec3a629a-a47c-4245-bc78-b4b63d0e3154}
                     (Default) = [REG_SZ] Fabricam XYZ Preview Handler

Penangan Pratinjau dan Host Pratinjau Shell

Penangan Pratinjau Bangunan

Panduan Handler Pratinjau