質問

可能な複製:
アプリケーションとのFiletype Association(C#)

「.build」ファイル(nantスクリプト)を視覚化および変更するためのC#Windowsアプリを作成しています。 Windows Explorerの.buildファイルを右クリックして、[>]オプションを選択して、アプリでファイルを変更できるようにする「開く」オプションを選択できるようにします。

私のプログラムは、このメカニズムを使用するために順序をサポートする必要がありますか?コンテキストメニューサポートを有効にするために、私のプログラムはWindowsに対して何をする必要がありますか?

誰かがこのテーマに関する良い記事/チュートリアルの方向に私を向けてくれるかどうか疑問に思っていました。

役に立ちましたか?

解決

コマンド付きのオープンは、アプリケーションの最初の引数としてファイルのパスを渡すだけなので、あなたがする必要があるのは

public static void Main(string[] args)
{
    if(args[0] != null)
    {
       //args[0] contans a path to the file do whatever you need to do to display it
    }
    else
    {
       //Start normally
    }
}

リストを使用してプログラムをオープンに自動的に配置するには、いくつかのREGキーを追加する必要があります HKEY_CLASSES_ROOT\YOUR_EXT\. これがとても答えです それをする方法を言う

または、通常の方法をリストして、手作業でオープンに追加することもできます。

他のヒント

このブログ投稿をご覧ください: シェルエクステンション - コンテキストメニュー. 。 WindowsシェルコンテキストメニューへのいくつかのCOMフックの単純な「ラッパー」のコードがあります。 GACに入れて、右クリックすると、メニューは右クリックコンテキストメニューのサブメニューとして含まれます。

「開く...」を厳密に使用してアプリケーションを開くことができるファイルのみを表示する限り、それは少し簡単です。これらは、レジストリの2つの場所にあるレジストリキーを使用してWindowsによって管理されます。

  1. hkey_current_user software microsoft windows currentversion explorer fileexts .fileextension openwithList(現在のユーザー用インストール)
  2. hkey_classes_root .fileextension openwithList(すべてのユーザーにインストール)

RegEditを使用して既存のもののいくつかを見て、レジストリクラスを使用して、必要な拡張機能の新しいキーを作成します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top