Shell Verileri ve Windows Arama ile Yönetilen Kod Kullanma
Windows Search SDK'sı, Yönetilen kod kullanan arabirimler ve sınıflar üzerinde Windows Search ve diğer programlar tarafından kullanıma sunulan Bileşen Nesne Modeli (COM) nesneleriyle çalışmanız için birlikte çalışabilirlik derlemesi sağlar. Microsoft tarafından dijital olarak imzalanan birlikte çalışabilirlik bileşeni, Windows Search örnekleriiçinde bulunabilir.
Bu konu aşağıdaki gibi düzenlenmiştir:
-
Windows API CodePack'i Kullanma
- Dizin Sonuçlarına Erişim
- Örnek Uygulama: Windows API Codepack Kullanımı
- İlgili konular
Windows API CodePack'i kullanma
Microsoft .NET ortamında çalışıyorsanız, arama sonuçlarını almak veya yalnızca ad alanına göz atmak için Microsoft .NET Framework için Windows API Kod Paketi'ni kullanın. Microsoft .NET Framework için Windows API Kod Paketi, yerel IShellItem Arabirimietrafında temelde sarmalayıcı olan kabuk nesneleri koleksiyonu size sunar. Bu koleksiyon üzerinde yineleme yapabilir ve çeşitli özellik değerlerini Nesne Bağlama ve Ekleme Veritabanı (OLE DB) sorgusundan bir tablodaki sonuçları numaralandıracağınız gibi alabilirsiniz.
Aşağıdaki kod parçacığında Search öğeleri üzerinde yineleme ve her biri için özellik değerlerini alma işlemleri gösterilmektedir.
foreach (ShellObject so in KnownFolders.SavedSearches)
{
searchFolder = new ShellSearchFolder(finalSearchCondition, (ShellContainer)so);
List<ShellObject> items = new List<ShellObject>();
foreach (ShellObject so2 in searchFolder) items.Add(so2);
}
Dizin Sonuçlarına Erişme
Dizin sonuçlarına OLE DB veya Shell veri modeli aracılığıyla erişebilirsiniz. Her iki yaklaşımın da avantajları ve dezavantajları vardır. Bunun bir avantajı, OLE DB ve Yapılandırılmış Sorgu Dili'nin (SQL) veritabanı programcıları için tanıdık olmasıdır. Diğer avantajlar, yalnızca dizin oluşturucuyu sorgularken performans üzerinde daha iyi denetim sahibi olmak ve yeni satır kümesinde önceki sonuçları hızla bulabilmek gibi ek işlevlere erişimdir.
Shell veri modelinin avantajları, OpenSearch gibi farklı bilgi kaynaklarını soyutlaması ve küçük resimler ve özellik işleyicileri gibi ek işlevlere erişim sağlamasıdır. Kabuk nesne modeli, posta öğeleri ve OneNote sonuçları gibi dosya adı olmayan sonuçlar için veya kullanıcının dizininde bulunan öğeler için özel durum desteği gerektirmez. Unutmayın ki Shell KNOWNFOLDERID, yerel indekslenen içerik için bilinen klasör kapsamıdır. Shell veri kaynağı oluşturma hakkında daha fazla bilgi için bkz. Temel Klasör Nesne Arabirimlerinin Gerçekleştirilmesi.
OpenSearch veri kaynakları, Windows 7 ve sonraki sürümlerde federasyon araması için OLE DB aracılığıyla kullanıma sunulmaz. Bu nedenle, dizin oluşturucu sonuçlarına erişmek için OLE DB kullanmak yerine Shell ad alanı için bir LINQ sağlayıcısı yazmanızı öneririz. Daha fazla bilgi için bkz. Kılavuz: IQueryable LINQ Sağlayıcısı Oluşturulması.
Windows API Codepack Kullanarak Örnek Uygulama
Aşağıdaki ekran görüntüsü, Microsoft .NET Framework içinWindows API Kod Paketi ile oluşturulan örnek bir uygulamanın sahtesini temsil eder.
ekran görüntüsü
İlgili konular
-
kavramsal
-
Diğer Kaynaklar