2016-07-05 5 views
5

BrendanGrant.Helpers.FileAssociation;(NuGetパッケージ)を使用して、自分のアプリケーションのファイル関連を作成しています。これまでのところうまく動作します。私はProgramAssociationを作成し、このようにそれに動詞を追加するとなぜ私のコンテキストメニューのエントリは小文字ですか?

:しかし、私はProgramVerb sの問題を抱えている

var pai = new ProgramAssociationInfo(fai.ProgID); 

    pai.Create(
    "App name", 
    new[] 
    { 
     new ProgramVerb("Öffnen", Assembly.GetEntryAssembly().Location + " \"%1\""), 
     new ProgramVerb("Bearbeiten", Assembly.GetEntryAssembly().Location + " \"%1\"") 
    }); 
} 

BearbeitenとÖffnen(編集・オープン)キーワードはコンテキストメニューに小文字されていますWindowsエクスプローラの:

enter image description here

私はその何かが最初の文字だけを変更するかどうかをテストするために第二のエントリWAAAAの名前が、どうやらそのありません。

コンテキストメニューで私のBearbeitenとÖffnenを大文字にするにはどうすればよいですか?

答えて

4

このライブラリを確認したところ、この動作には何の影響もないようです。

​​

_

protected void SetVerbs(ProgramVerb[] verbs) 
{ 
    if (!this.Exists) 
    throw new Exception("Extension does not exist"); 
    RegistryKey registryKey = RegistryHelper.AssociationsRoot.OpenSubKey(this.progId, true); 
    if (registryKey.OpenSubKey("shell", true) != null) 
    registryKey.DeleteSubKeyTree("shell"); 
    RegistryKey subKey1 = registryKey.CreateSubKey("shell"); 
    foreach (ProgramVerb verb in verbs) 
    { 
    RegistryKey subKey2 = subKey1.CreateSubKey(verb.Name.ToLower()); 
    RegistryKey subKey3 = subKey2.CreateSubKey("command"); 
    subKey3.SetValue(string.Empty, (object) verb.Command, RegistryValueKind.ExpandString); 
    subKey3.Close(); 
    subKey2.Close(); 
    } 
    ShellNotification.NotifyOfChange(); 
} 

代わりに、コレクションの割り当てのあなたはAddVerb(ProgramVerb動詞)メソッドを使用する必要があり、その後、大文字を保持する必要があります。

これは小文字に変わり行です。

pai.Create("App name", new ProgramVerb[0]); 
pai.AddVerb(new ProgramVerb("Öffnen", Assembly.GetEntryAssembly().Location + " \"%1\"")); 
pai.AddVerb(new ProgramVerb("Bearbeiten", Assembly.GetEntryAssembly().Location + " \"%1\"")); 
+2

***画像はありますか?コードの行をコピーして貼り付けるのではなく、単一行のコードを表示するか? –

+0

@PawelMagaあなたはライブラリの代わりに以下に投稿したコードを使用できますか?あるいは、他の図書館を知っていますか? – Mafii

+0

@Mafii残念ながら、私の編集された答えを見ることはできません。 –

関連する問題