Microsoft.Win32.Registry.SetValue のパス指定方法について

回答済み Microsoft.Win32.Registry.SetValue のパス指定方法について

  • 2012年4月6日 11:32
     
      コードあり

    お世話になっております。

    .NET Framework 2.0でVB.NET2010にてプログラムを作成しています。
    既存のレジストリパスに、値を新規作成しようと次のコードを発行したところ、
    HKEY_CURRENT_USERの直下に"Software\Adobe\Acrobat Distiller\PrinterJobControl"
    という、そのままの名前の1つのキーが出来てしまいます。

    Microsoft.Win32.Registry.SetValue( _
     "HKEY_CURRENT_USER\Software¥Adobe¥Acrobat Distiller¥PrinterJobControl", _
     "C:\TEST.EXE", _
     "C:\FILE.TXT", _
     Microsoft.Win32.RegistryValueKind.String)

    HKEY_CURRENT_USER以下の階層には、キーが
    Software
    Adobe
    Adobe Distiller
    PrinterJobControl
    と存在します。
    この階層の中をたどりたいのですが、階層を追わずに「エンマークを含む(ひとつの)キー名」として扱われてしまいます。
    これはこのメソッドの仕様なのでしょうか?

    気のせいかもしれませんが、うまく階層のなかをたどってアクセスできたこともあった記憶があります。
    情報をお持ちの方、ご教示いただけますと幸いです。

    • 編集済み koma_deko 2012年4月6日 11:35
    •  

すべての返信

  • 2012年4月6日 12:19
     
     回答済み
    "HKEY_CURRENT_USER\Software¥Adobe¥Acrobat Distiller¥PrinterJobControl"
    の Software 以降の円マークが 0x5c ではなく、0xA5になってます。
    • 編集済み galaco 2012年4月6日 12:20
    • 回答としてマーク koma_deko 2012年4月9日 3:32
    •  
  • 2012年4月9日 0:19
     
     

    galaco様

    ご教示頂き、どうも有難う御座います。

    間違えて投稿してしまったか...と
    再びコードブロックとして貼ってみましたら
    質問時と同じく
    ハイブ名の直後と他のパス区切りとで変わってしまいました。

    VB.NETのIDE上でみてみると全く同じ円マークで見えていて
    気づきませんでした...

    どのような入力方法を使ったか忘れてしまいましたが
    このようなこともあるのだと頭に入れておきます。

    どうも有難う御座いました。

    • 回答としてマーク koma_deko 2012年4月9日 0:19
    • 回答としてマークされていない koma_deko 2012年4月9日 3:32
    •  
  • 2012年4月9日 2:01
     
     
    回答としてマークする対象が違ってますよ。
  • 2012年4月9日 3:34
     
     

    galaco様

    大変失礼致しました。