VC# .NETのレジストリ操作で質問です。


レジストリへ重要なデータを書き込みたいのですが、その際、書き込んだキーに対してアクセス権を設定することは可能でしょうか?
また、どうやったらそれが実現するのでしょうか?
レジストリエディタ等で弄られると困るデータなので、作成したアプリケーションからしか変更がきかないようにしたいのです。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2008/10/11 15:36:11
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:dearna No.1

回答回数3ベストアンサー獲得回数1

ポイント35pt

レジストリ操作はRegistryクラスからそれぞれRegistryKey.CreateSubKeyメソッドを使うことでキーの作成、アクセス権の設定を行うことができます。

しかしアクセス権の設定は.NET2.0以降からしかサポートしていないようですので、.NET1.0しか使うことのできないVC#.NETでは使用できません。サポートのあるVC#2005以降を使う必要があります。

以下は該当のクラスメソッドのサイトになります。

http://msdn.microsoft.com/ja-jp/library/microsoft.win32.registry...

id:kiku-_-san

ご回答ありがとうございます。

質問の内容がおかしかったようです。

開発環境はVC#2008です。

なのでアクセス制御の設定を行うことが出来ました。

しかしながら、レジストリエディタでアクセス許可を追加すると編集・削除が出来てしまいます。

削除されると非常に困ります。

いい対策はないでしょうか?

2008/10/09 22:07:27
id:ardarim No.2

回答回数897ベストアンサー獲得回数145

ポイント35pt

やろうとしていることは不可能です。


レジストリに設定できるアクセス権は、ユーザーアカウント単位であり、アプリケーションごとに設定する機能はWindowsにはありません。

基本的にAdministrator権限があればレジストリエディタなどでアクセス権自体を変更することができてしまい、それは防げません。


またVC#.NETアプリからアクセス権の設定ができると言うことは、そのアプリが動作しているユーザーアカウントであればレジストリエディタ含め他のアプリからでもそのレジストリにアクセスできてしまうことになります。

id:kiku-_-san

ご回答ありがとうございます。

そうですか。。。

不可能なところは割り切るようにします。

2008/10/10 23:11:37

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません