Hvordan skriver jeg en brugerdefineret søgeudbyder til Windows Explorer-brugergrænsefladen

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg arbejder på en Windows Explorer Namespace Extension, som er et virtuelt filsystem. Med hensyn til dette, vil jeg gerne støtte søgning i søgedialogen, der er tilgængelig i Windows Stifinder.


I øjeblikket kan jeg søge efter navn i den mappe jeg står i, men jeg vil gerne kunne søge i den komplette struktur og også inden for indholdet af det virtuelle filsystem, og da Windows Stifinder ikke kan gøre dette, har jeg brug for at tilslutte en brugerdefineret søgeudbyder.


Da det er et virtuelt filsystem, ville det være gavnligt, hvis jeg kunne skrive et brugerdefineret brugergrænseflade til at vise resultatet, men det er ikke obligatorisk.


Den brugerdefinerede Explorer-navnepladsudvidelse er skrevet i C #, men API'en behøver ikke at blive pakket. Eventuelle pointers til API-dokumentation, kommercielle produkter og/eller prøver vil blive værdsat.

Bedste reference


Hvis du bruger defview som din skalvisning, skal du returnere FWF\_USESEARCHFOLDER i IFolderViewSettings :: GetFolderFlags. Prøveimplementering findes på http://regnamespace.codeplex.com/.[1]


Fra http://msdn.microsoft.com/en-us/library/bb331575(v=vs.85).aspx:
Hvis din IShellFolder-implementering ikke bruger SHCreateShellFolderView til at oprette DefView, kan Shell-visningsobjektet måske have brug for IFolderView. [2]


Der er også forvirret bruger, der skal understøtte shell navneområdeudvidelsesmappe, der søges i fildialoger. [3]