プロが教えるわが家の防犯対策術!

お世話になります。

C#(.net)で、スタートメニューから開ける『ミュージック』や
『ビデオ』といった、いわゆる特殊ディレクトリと呼ばれるものですが、
取得するのは、System.Environment.GetFolderPath(Environment.SpecialFolder.Personal)
(これはドキュメントですが)等でできますが、
特殊ディレクトリをコードで変更することは可能でしょうか。

方法がありましたら、教えてください。

よろしくお願いいたします。

A 回答 (3件)

> その方法をC#で記述するには、どのようにすればよいでしょうか


「C# レジストリ」で検索してみてください。
多くの情報が得られます。
例えば下記などが参考になるかと思います。
http://fernweh.jp/b/csharp-regedit/
http://dobon.net/vb/dotnet/system/registrykey.html
http://ch.nicovideo.jp/laz/blomaga/ar471835
    • good
    • 0
この回答へのお礼

いろいろとありがとうございました。

少し難しそうですがね試してみたいと思います。


また何かありましたらよろしくお願いいたします。

お礼日時:2014/08/06 10:09

> 例えば、今『ミュージック』が『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#で記述するには、どのようにすればよいでしょうか。

補足日時:2014/08/04 18:26
    • good
    • 0

> 特殊ディレクトリをコードで変更する


質問の意味が判らないのですが、使う前にpathを変更しておいてGetFolderPathで変更したpathを取るということでしょうか。
そうであればpathが記録されているレジストリを書き換えないといけないと思いますが。
あるいは(Environment.SpecialFolder.Personal)を例えば(MySpecailDocument)に変えたいということでしょうか。

この回答への補足

質問の説明が不足しており、申し訳ありません。

手動では、ビデオやミュージックのディレクトリの場所を
自由に変えられるのですが、それをコードで行えればということです。

例えば、今『ミュージック』が『c:\document\music』だったものを
『c:\sample\a\b\mymiusic』等に変更するということです。

補足日時:2014/08/01 08:06
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!