2009-10-13 12 views
7

W jaki sposób narzędzia, takie jak SVN i Git, podłączają się do Eksploratora Windows, tak, że dodają opcje do menu prawego przycisku myszy, a także dodają znak/wykrzyknik w zależności od tego, czy plik został zmodyfikowany?Dodatki do Eksploratora Windows

(nie jestem po informacji Git lub SVN-specyficznym - po prostu stosować je jako przykłady)

Odpowiedz

3

Explorer pozwala DLL zarejestrować się jako rozszerzenia powłoki. Rozszerzenie powłoki może zawierać elementy menu kontekstowego, nakładki ikon i wiele innych funkcji. Czyni to poprzez ujawnienie pewnych interfejsów COM, które Explorer wywołuje np. przed wyświetleniem menu lub ikony. Oto MSDN home page for shell extensibility - choć dziwne, że rzeczy dotyczące menu kontekstowych i nakładek ikon już nie istnieją - być może trzeba będzie wypróbować SDK trybu offline pod Win32 i COM Development | Interfejs użytkownika | Windows User Experience | Windows Shell | Przewodnik programisty Shell | Integracja aplikacji z powłoką.

1

W zależności od potrzebnego rozszerzenia powłoki, może to być kompleksowy do wdrożenia. Nie wiem, czego szukasz, szybko napisać ładną rozbudowę, lub wejść na nudne i uczyć się wszystkiego, co się z tym wszystkim wiąże. Jeśli nie są zainteresowani w jaki sposób i po prostu kilka pomysłów, które mają na celu realizację, sprawdź tę bibliotekę do pisania rozszerzenia powłoki ...

EZShellExtensions MFC
EZShellExtensions.NET

Istnieje wiele różne typy:
- Context Menu
- Property Pages
- Icon Wozy
i wiele więcej ...

Mają też inną bibliotekę do pisania rozszerzeń przestrzeni nazw (rzeczy, które pojawiają się w panelu drzewa Eksploratora Windows).

+1

łączysz się z edycją .NET tego frameworka. Nigdy, nigdy tego nie używaj! Nigdy, przenigdy nie pisz rozszerzenia powłoki w .NET. Oto dlaczego: http://blogs.msdn.com/oldnewthing/archive/2006/12/18/1317290.aspx – Stefan

+0

Interesujący punkt. Nie myślałem o tym. Myślę, że to może, ale nie musi być problem, w zależności od grupy docelowej. Jeśli piszesz dla dobrze kontrolowanej publiczności (np. W jaki sposób strony intranetowe mogą kierować JUST IE i ignorować inne przeglądarki), może to nie być problem, ale do publicznego wydania warto wziąć to pod uwagę. Zaktualizowano moją odpowiedź, aby dołączyć wersję MFC. – eidylon

+1

To nie jest kwestia IE w porównaniu z innymi przeglądarkami. Problem polega na tym, że każda aplikacja korzystająca z wtyczek może się zepsuć. Wyobraź sobie natywną aplikację, która używa wtyczek COM, a jedna z tych wtyczek COM jest napisana w .NET. Jeśli aplikacja używała okna dialogowego otwierania/zapisywania plików, zanim będzie musiała załadować wtyczkę, wtyczka może się nie załadować, ponieważ inne środowisko wykonawcze .NET zostało już załadowane z powodu złego rozszerzenia powłoki. W rzeczywistości nie jest nawet potrzebne użycie okna dialogowego otwierania/zapisywania pliku: nawet niektóre często używane "normalne" funkcje powłoki, takie jak SHGetFileInfo(), będą działać. I tak: Mam aplikację, która się zepsuje, jeśli takie rozszerzenia powłoki są zainstalowane – Stefan

Powiązane problemy