2013-04-11 10 views
8

W przeciwieństwie do innych, którzy chcą dodać elementy do Eksploratora Windows, chcę wyświetlić menu kontekstowe w mojej aplikacji. Teraz możesz myśleć, klasa, której szukasz, to ContextMenu. Pozwól, że pokażę ci, co mnie interesuje. Proszę wybaczyć małe obrazy ...Użyj menu kontekstowego innej firmy (dla Eksploratora Windows) w aplikacji C#?

Oto co obecnie mam:

My current context menu

To co chciałbym go mieć:

What I'd like it to look like

LET'S pozbyć się założeń. Wykryłem już, że użytkownik ma zainstalowany TortoiseSVN, a element, który wybiera, jest pod kontrolą źródła.

Moje badania do tej pory:

Retrieving context menus - Jest to bardzo użyteczne. To jest biblioteka C# dla Eksploratora Windows (która może pobrać menu kontekstowe dla określonego folderu/pliku). Jednak nawet podczas testowania przykładu, nie pobiera opcji TortoiseSVN.

Another context menu retrieval - Prawie identyczny z poprzednim łączem (ponownie kod C#). Pobiera menu kontekstowe Eksploratora Windows minus opcje TortoiseSVN.

Process to add context menu - Właśnie zacząłem czytać te dogłębne posty. Odpowiedź może znajdować się w tym tekście, ale zajmie mi to trochę czasu. Jeśli będę miał z nimi szczęście, odpowiem na nie.

User appears to be able to accomplish this - To wydaje się być grupą e-mail, która zajmuje się rozwojem SVN. Po co to publikować? Być może udowodnić, że można to zrobić. Aby zacytować: "Używam menu kontekstowego powłoki TSVN. Używam metody IContextMenu.QueryContextMenu (kod C++) do uzyskiwania dostępu do menu kontekstowego powłoki TSVN, a następnie przeglądam menu zwrócone."

Podsumowując, wydaje się, że powinno to być dość proste zadanie, a ja po prostu brakuje jednego kroku. Wszelkie sugestie są mile widziane. Dzięki!

Edits: Starając się lepiej wykorzystywać znaczniki i bardziej skoncentrowane tytuł

+0

Próbuję spojrzeć na różne powody, dla których menu kontekstowe TortoiseSVN nie pojawia się podczas korzystania z 2 projektów C#, które działają jak Eksplorator Windows. Ostatnio zdałem sobie sprawę, że podczas gdy TortoiseSVN się nie wyświetla, inne narzędzia innych firm (na przykład Beyond Compare). Pierwotnie uważałem, że być może były różnice w kluczach rejestru, które odgrywały w tym rolę. Nie odniosłem żadnego sukcesu w tej obserwacji (TSVN był we wszystkich tych samych lokalizacjach rejestru, co BC). Zaczynam się zastanawiać, czy to naprawdę jest problem z TortoiseSVN. Zostanie zaktualizowany, gdy dostanę więcej. – techvice

+0

Proszę wyjaśnić, dlaczego klasa ContextMenu klasy .net nie będzie działać. – PeterM

+0

Jeśli chcesz używać TortoiseSVN, możesz zadzwonić bezpośrednio: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-automation.html – oefe

Odpowiedz

0

Zamiast próbować ściągnąć z Eksploratora Windows, ostatecznie ponownie zaimplementowałem ContextMenu. Dodanie bezpośrednich połączeń do TortoiseSVN (jak wspomniano wcześniej). Nie jest to super eleganckie rozwiązanie, które chciałem, ale zadziałało!

Zaznaczę, że użytkownik oefe zwrócił uwagę, że główny problem mógł być spowodowany przez x86 vs x64 (TortoiseSVN został zainstalowany jako x64 na mojej maszynie programistycznej). Inni użytkownicy mogą chcieć to sprawdzić, jeśli spróbują wykonać podobne zadanie.

0

Mam nadzieję, że dalej będzie Ci zacząć

+0

Nie pomocne. Wszystko co zrobiłeś, to pokazać linki, które można łatwo znaleźć na stackoverflow.com. Również linki, które wymieniliście, zasadniczo sprowadzają się do linków, które już podałem. – techvice