Membuat konektor pencarian untuk handler protokol

Windows Explorer mengontrol pembuatan konektor pencarian untuk handler protokol melalui entri kunci registri. Melalui registri, baik pelaksana maupun pihak ketiga dapat memungkinkan penangan protokol baru dan lama untuk berpartisipasi dalam Pencarian Windows 7.

Topik ini diatur sebagai berikut:

Tentang konektor pencarian untuk penangan protokol di Windows 7

Di Windows 7, pencarian dari menu Mulai atau Windows Explorer hanya menyertakan file di lokasi terindeks, dan item sistem non-file seperti penyimpanan data jarak jauh atau item handler protokol yang memiliki konektor pencarian. Selain menyertakan item handler protokol dalam lingkup menu Mulai dan pencarian Shell, konektor pencarian memungkinkan menu Mulai untuk mengelompokkan item handler protokol bersama-sama dalam hasil menu Mulai, sehingga pengguna dapat mengklik header grup dan melihat hasil hanya dari handler protokol. Atau, pengguna dapat menavigasi ke folder Searches, membuka file konektor pencarian, dan melakukan pencarian yang hanya menyertakan item dari handler protokol tertentu yang terkait dengan konektor pencarian tersebut.

Ketika pengguna pertama kali memulai aplikasi yang mendaftarkan handler protokol, Windows Explorer menghasilkan file konektor pencarian (.searchConnector-ms) untuk handler protokol di folder Searches pengguna. Aplikasi dengan penangan protokol dapat memilih untuk menonaktifkan perilaku ini atau menyesuaikan nama dan deskripsi konektor pencarian penangan protokol.

Nota

Lokasi folder Pencarian pengguna adalah %userprofile%\Searches, atau FOLDERID_SavedSearches. GUID untuk FOLDERID_SavedSearches adalah {7d1d3a04-debb-4115-95cf-2f29da2920da}.

 

Windows Explorer mengontrol pembuatan konektor pencarian untuk handler protokol melalui entri kunci registri yang dijelaskan di bagian berikut:

Nota

Tidak ada cara terprogram untuk membuat konektor pencarian untuk handler protokol. Mereka harus dikonfigurasi melalui registri.

 

Kunci registri dan kemungkinan nilainya diuraikan dalam tabel berikut. Handler protokol dapat mengisi beberapa atau semua kunci registri ini di mana protokol <> diganti dengan nama protokol yang sebenarnya, seperti MAPI, file, atau csc, misalnya.

Kunci registri Nilai yang mungkin Jenis Komentar
protokol HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Search\PHSearchConnectors\<>\Version Tidak ada (default). Jika tidak, nilainya 1 atau lebih besar. REG_DWORD Nilai ini digunakan untuk mendeteksi perubahan pada pendaftaran templat lokasi untuk akar pencarian yang telah diproses. Jika tidak ada, gunakan 0 sebagai default. Atau, tingkatkan versi untuk memberi tahu Windows Explorer bahwa konektor pencarian harus diregenerasi karena versi handler protokol yang lebih baru telah diinstal.
protokol HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Search\PHSearchConnectors\<>\DoNotCreateSearchConnectors Tidak ada (default). Jika tidak, atur ke 1. REG_DWORD Jika tidak ada, buat file .searchconnector-ms di folder Pencarian. Jika 1, tandai sebagai diproses dan jangan lakukan apa-apa.
protokol HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Search\PHSearchConnectors\<>\Default\Description String yang dapat dilokalkan yang berisi deskripsi konektor pencarian. REG_SZ Fakultatif. Ini digunakan dalam elemen Deskripsi dari file .searchconnector-ms.
protokol HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Search\PHSearchConnectors\<>\Default\Name String yang dilokalkan untuk memberi nama konektor pencarian. Digunakan sebagai nama file .searchconnector-ms. REG_SZ Setiap lokasi harus memiliki nama yang unik. Dengan tidak adanya nilai ini, nama tampilan yang disediakan oleh handler protokol IShellFolder Interface akan digunakan.
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Search\PHSearchConnectors\<protokol>\Default\FolderType GUID yang mengidentifikasi FOLDERTYPEID yang diterapkan pada konektor pencarian. REG_SZ Fakultatif. Digunakan dalam elemen folderType dari file .searchconnector-ms untuk menunjukkan templat apa yang harus digunakan untuk menampilkan hasil. Misalnya, nilai GUID dari FOLDERTYPEID_Documents.

 

Menonaktifkan pembuatan konektor pencarian handler protokol

Jika aplikasi Anda mengekspos item melalui handler protokol untuk digunakan dalam aplikasi itu sendiri dan Anda tidak ingin mengekspos item melalui Shell (di menu Mulai dan pencarian Windows Explorer), Anda perlu menonaktifkan pembuatan konektor pencarian untuk handler protokol Anda.

Untuk menonaktifkan pembuatan konektor pencarian, tetapkan DoNotCreateSearchConnectors ke 0x00000001(1), seperti yang ditunjukkan dalam contoh kunci registri berikut.

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows Search
            PHSearchConnectors
               <protocol>
                  DoNotCreateSearchConnectors

Jika DoNotCreateSearchConnectors diatur ke 1, maka kami sarankan Anda mengekspos properti System.Shell.OmitFromView pada setiap item yang diekspos oleh handler protokol, dan atur nilai properti ini ke TRUE. Melakukannya akan mencegah item handler protokol muncul di bawah menu Start group Files.

Jika DoNotCreateSearchConnectors ada dan nilainya diatur ke nol, maka Windows Explorer akan membuat konektor pencarian untuk pengendali protokol, dan item pengendali protokol akan ditampilkan di menu Mulai dan pencarian Windows Explorer.

Menyesuaikan nama, deskripsi, atau JenisFolder untuk konektor pencarian pengelola protokol

Nama konektor pencarian digunakan tidak hanya untuk mengidentifikasi konektor pencarian di folder Pencarian, tetapi juga sebagai judul grup untuk hasil dalam pencarian menu Mulai. Oleh karena itu, penting untuk memberikan nama deskriptif untuk konektor pencarian. Jika nama tidak disediakan dalam kunci registri, secara default Windows Explorer menggunakan nama yang disediakan oleh Antarmuka IShellFolder untuk akar pencarian penangan protokol dan deskripsi kosong. Anda dapat mengganti nama default melalui entri kunci registri tanpa harus mengganti nama Antarmuka IShellFolder. Meskipun tidak terlihat sejelas nama konektor pencarian, Anda juga dapat mengubah deskripsi untuk konektor pencarian dengan menyediakan deskripsi Anda sendiri.

Untuk mengambil alih nama atau deskripsi default, atur entri seperti yang diperlihatkan dalam contoh registri berikut.

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows Search
            PHSearchConnectors
               <protocol>
                  Default
                     Name
                     Description

Selain itu, entri FolderType dapat disetel ke salah satu FOLDERTYPEID GUIDs. Nilainya harus GUID aktual, dan bukan namanya. Misalnya, {94d6ddcc-4a68-4175-a374-bd584a510b78} bukan FOLDERTYPEID_Music. GUID untuk FOLDERTYPEID dapat diperoleh dalam file header Shlguid.h di Windows SDK.

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows Search
            PHSearchConnectors
               <protocol>
                  Default
                     FolderType = {94d6ddcc-4a68-4175-a374-bd584a510b78}

Menggunakan pengalihan string registri

Anda dapat menggunakan string yang dialihkan untuk memastikan bahwa nama yang Anda berikan untuk konektor pencarian dapat dilokalkan. Anda dapat menyertakan string yang dapat dilokalkan untuk nama dan deskripsi kunci registri alih-alih memasukkan string aktual ke dalam registri.

Untuk menyertakan string yang dapat dilokalkan untuk nilai Nama atau Deskripsi, atur nilai seperti yang ditunjukkan dalam contoh kunci registri berikut.

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows Search
            PHSearchConnectors
               <protocol>
                  Name = @dllname.dll,-resourceID

String yang dapat dilokalkan mengambil format berikut:

  • @dllname.dll,-resourceID, di mana:
    • @dllname.dll adalah jalur ke DLL yang berisi sumber daya string
    • resourceID adalah ID sumber daya bilangan bulat dari sumber daya string

Format untuk string tidak langsung, dan string tidak langsung yang ditambahkan dengan pengubah versi, dijelaskan dalam Fungsi SHLoadIndirectString.

Memulihkan konektor pencarian handler protokol yang dihapus

Karena konektor pencarian adalah file di komputer pengguna, dapat dihapus secara tidak sengaja. Untuk memulihkan semua konektor pencarian pengelola protokol yang telah dihapus, pulihkan pustaka bawaan. Untuk melakukannya, buka Windows Explorer, klik kanan folder Pustaka, lalu pilih Pulihkan Pustaka Bawaan.

cuplikan layar memperlihatkan opsi menu pulihkan ke pengaturan pustaka awal

Sumber daya tambahan

Konseptual

Memahami Penangan Protokol

Mengembangkan Handler Protokol

Pemberitahuan Indeks Perubahan

Menambahkan Ikon dan Menu Konteks

Sampel Kode : Ekstensi Shell untuk Handler Protokol

Menginstal dan Mendaftarkan Handler Protokol

Penangan Pemecahan Masalah Protokol