- ベストアンサー
C# 特殊ディレクトリを変更したいのだが
お世話になります。 C#(.net)で、スタートメニューから開ける『ミュージック』や 『ビデオ』といった、いわゆる特殊ディレクトリと呼ばれるものですが、 取得するのは、System.Environment.GetFolderPath(Environment.SpecialFolder.Personal) (これはドキュメントですが)等でできますが、 特殊ディレクトリをコードで変更することは可能でしょうか。 方法がありましたら、教えてください。 よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> その方法をC#で記述するには、どのようにすればよいでしょうか 「C# レジストリ」で検索してみてください。 多くの情報が得られます。 例えば下記などが参考になるかと思います。 http://fernweh.jp/b/csharp-regedit/ http://dobon.net/vb/dotnet/system/registrykey.html http://ch.nicovideo.jp/laz/blomaga/ar471835
その他の回答 (2)
- samtomsan
- ベストアンサー率55% (1060/1897)
> 例えば、今『ミュージック』が『c:\document\music』だったものを 『c:\sample\a\b\mymiusic』等に変更するということです。 この情報はレジストリに書かれていますから、レジストリを書き直すことになると思います。 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders レジストリを書き直すと他のプログラムにも影響しますから、その辺りはどうするのか考えて置く必要があります。 上記以外にも登録されているレジストリがありますから、それをどうするかも考えて置く必要がありますね。 間違っていたらごめんなさい。
補足
度々すみません。 その方法をC#で記述するには、どのようにすればよいでしょうか。
- samtomsan
- ベストアンサー率55% (1060/1897)
> 特殊ディレクトリをコードで変更する 質問の意味が判らないのですが、使う前にpathを変更しておいてGetFolderPathで変更したpathを取るということでしょうか。 そうであればpathが記録されているレジストリを書き換えないといけないと思いますが。 あるいは(Environment.SpecialFolder.Personal)を例えば(MySpecailDocument)に変えたいということでしょうか。
補足
質問の説明が不足しており、申し訳ありません。 手動では、ビデオやミュージックのディレクトリの場所を 自由に変えられるのですが、それをコードで行えればということです。 例えば、今『ミュージック』が『c:\document\music』だったものを 『c:\sample\a\b\mymiusic』等に変更するということです。
お礼
いろいろとありがとうございました。 少し難しそうですがね試してみたいと思います。 また何かありましたらよろしくお願いいたします。