2013-04-11 12 views
8

Windowsエクスプローラにアイテムを追加したい人とは異なり、自分のアプリケーション内にコンテキストメニューを表示したいと考えています。今思っているかもしれませんが、あなたが探しているクラスはContextMenuです。私がやりたいことをあなたに見せてあげましょう。 小さな画像を許しなさい...ここC#アプリケーション内でサードパーティのコンテキストメニュー(Windowsエクスプローラ用)を使用しますか?

は、私が現在持っているものです。

My current context menu

これは私がそれになりたいものです。

What I'd like it to look like

ましょう仮定を外に出す。ユーザーがTortoiseSVNをインストールしていて、選択しているアイテムがソース管理下にあることが既に検出されています。

これまでの私の研究:

Retrieving context menus - これは非常に便利です。これはWindowsエクスプローラ(特定のフォルダ/ファイルのコンテキストメニューを取得できる)用のC#ライブラリです。ただし、例をテストする場合でも、TortoiseSVNオプションは取得されません。

Another context menu retrieval - 前のリンク(C#コード)とほぼ同じです。 WindowsエクスプローラーのコンテキストメニューからTortoiseSVNオプションを除いたものを取得します。

Process to add context menu - 私はこれらの詳細な記事を読み始めました。答えはこのテキストの中にあるかもしれませんが、それを経験するまでには時間がかかります。もし私がこれらと何か運があれば、私は答えを返すだろう。

User appears to be able to accomplish this - これはSVN開発を扱うメールグループのようです。なぜここに投稿するのですか?おそらく、これを行うことができることを証明する。 「私はTSVNシェルのコンテキストメニューを使用しています。IContextMenu.QueryContextMenu(C++コード)メソッドを使用してTSVNシェルのコンテキストメニューにアクセスし、返されたメニューを参照しています。

これはかなり正直なことであるはずですが、私は一歩足りません。すべての提案は大歓迎です。ありがとう!

編集:タグの活用と

+0

私は、Windowsエクスプローラのように動作する2つのオープンソースのC#プロジェクトを使用しているときに、TortoiseSVNコンテキストメニューが表示されないさまざまな理由を調べようとしています。私が最近気づいたのは、TortoiseSVNは表示されませんが、他のサードパーティ製のツール(例えばBeyond Compareなど)はそうです。私はもともと、おそらくこれの一部を果たしたレジストリキーに違いがあると信じていました。私はその観察で何の成功も見いだせなかった(TSVNはBCと同じ登録地点にあった)。これが本当にTortoiseSVNの問題なのか疑問に思っています。私はより多くを得るように更新されます。 – techvice

+0

.netクラスのContextMenuが機能しない理由を説明してください。 – PeterM

+0

特にTortoiseSVNを使用したい場合は、直接呼び出すことができます:http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-automation.html – oefe

答えて

0

Windows Explorerからプルしようとするのではなく、最終的にContextMenuを自分で再実装しました。 TortoiseSVNへの直接コールの追加(前述)私が望んでいた超エレガントなソリューションではありませんが、それはもちろん機能しました!

ユーザーoefeは、主な問題がx86 vs x64(TortoiseSVNが開発マシンにx64としてインストールされている)の可能性があることを指摘しています。他のユーザーは、同様のタスクを達成しようとすると、それを調べることができます。

0

がうまくいけば、次はあなたが上記のリンクは、以下のanswerショーが含まれてい

+0

役に立たなかったあなたがしたのは、stackoverflow.com内で簡単に見つかるリンクを表示することでした。また、あなたがリストアップしたリンクは、私がすでに提供しているリンクに沸き立ちます。 – techvice

関連する問題