人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

●質問者: kiku-_-san
●カテゴリ:コンピュータ
✍キーワード: .NET VC アクセス アプリケーション エディタ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● DEARNA
●35ポイント

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

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

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

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

◎質問者からの返答

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

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

開発環境はVC#2008です。

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

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

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

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


2 ● ardarim
●35ポイント

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


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

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


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

◎質問者からの返答

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

そうですか。。。

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ