Windowsエクスプローラにアイテムを追加したい人とは異なり、自分のアプリケーション内にコンテキストメニューを表示したいと考えています。今思っているかもしれませんが、あなたが探しているクラスはContextMenu
です。私がやりたいことをあなたに見せてあげましょう。 小さな画像を許しなさい...ここC#アプリケーション内でサードパーティのコンテキストメニュー(Windowsエクスプローラ用)を使用しますか?
は、私が現在持っているものです。
これは私がそれになりたいものです。
ましょう仮定を外に出す。ユーザーが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シェルのコンテキストメニューにアクセスし、返されたメニューを参照しています。
これはかなり正直なことであるはずですが、私は一歩足りません。すべての提案は大歓迎です。ありがとう!
編集:タグの活用と
私は、Windowsエクスプローラのように動作する2つのオープンソースのC#プロジェクトを使用しているときに、TortoiseSVNコンテキストメニューが表示されないさまざまな理由を調べようとしています。私が最近気づいたのは、TortoiseSVNは表示されませんが、他のサードパーティ製のツール(例えばBeyond Compareなど)はそうです。私はもともと、おそらくこれの一部を果たしたレジストリキーに違いがあると信じていました。私はその観察で何の成功も見いだせなかった(TSVNはBCと同じ登録地点にあった)。これが本当にTortoiseSVNの問題なのか疑問に思っています。私はより多くを得るように更新されます。 – techvice
.netクラスのContextMenuが機能しない理由を説明してください。 – PeterM
特にTortoiseSVNを使用したい場合は、直接呼び出すことができます:http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-automation.html – oefe