Jest to możliwe, ale nie przez rozszerzenie etykiety narzędzia powłoki. Zamiast tego za pośrednictwem właściwość powłoki powłoki. Obiekt obsługi receptury jest udokumentowany here i można go pobrać w całości z this repository. Oto zdjęcie z niego w działaniu w systemie Windows 10:

Zasadniczo dodaje dodatkowe właściwości pliku do pliku PerfectSteaks.recipe
rejestrując się jako obsługi nieruchomości, takich jak nieruchomości na Recipe difficulty
który jest kluczowy jest Microsoft.SampleRecipe.Difficulty
i może można go łatwo ustawić na Explorer
, modyfikując klucz HKCR
HKEY_CLASSES_ROOT\SystemFileAssociations\.recipe
tak, aby miał InfoTip
(typu REG_SZ
) ustawiony jako prop:System.ItemType;System.Author;System.Rating;Microsoft.SampleRecipe.Difficulty
, co powoduje jego wyświetlenie.
Właściwości są przechowywane w samym pliku. Plik .recipe
to plik XML, który zawiera, między innymi, rzeczywista trudność których obsługi pobiera:
<RecipeInfo>
<Difficulty>Hard</Difficulty>
<PreparationTime>5</PreparationTime>
<CookTime>20</CookTime>
<Yield>2 servings</Yield>
</RecipeInfo>
To nie jest czymś wyjątkowym w dzisiejszych czasach, ponieważ wiele formatów zrobić zapewnić jakąś formę dodatkowego wewnętrznego API do przechowywania. Jeśli pracujesz z plikami pakietu Office (którymi jestem), możesz zauważyć, że eksponują one właściwości do przechowywania w nich dla trwałości przy użyciu OLE. The DSOFile.dll
(click here to download the source) jest bardzo interesujące dla plików Office, a także ogólnie innych plików. Zobaczysz, że próbuje on przechowywania OLE w samym formacie pliku Office, z tym, że próbuje przechowywać w pamięci Microsoft Office Metadata Handler
. Jeśli to się nie powiedzie, w końcu spróbuje użyć alternatywnych strumieni (nie fanem alternatywnych strumieni, ponieważ one nie będą się utrzymywać).
W związku z powyższym, dzięki kombinacji obsługi właściwości powłoki i podobnej taktyki do narzędzia DSOFile.dll, można połączyć rozwiązanie, aby wykonać to zadanie we właściwy sposób.
Czy próbowałeś wywołać klasę podstawową ze swojego zastąpienia? –
@BenVoigt Żałuję, że jest to niestety abstrakcyjna metoda bazowa. – Alexandru
Oto ktoś, kto miał to samo pytanie - zapytał w niewłaściwym miejscu i nie otrzymał odpowiedzi. https://social.microsoft.com/Forums/en-US/d3a0b665-019d-41cb-9e6e-b9ff99c70234/iqueryinfo-getinfotip-how-get-the-default-window-tip-text?forum=Offtopic –