「ユーザー設定」を作るには?

解決


エーミール  2002-05-14 06:46:31  No: 104264

今、ユーザー設定みたいなのが使えるものを作っているんですが、そういう設定をどうソフトに保存していいのか分かりません。メモ帳のように他のところに保存する方法は分かるのですが、こういう場合はどうすればいいのでしょうか。お願いします。


YuO  2002-05-14 07:38:03  No: 104265

SaveSetting,GetSettingなどを使います。
HKEY_LOCAL_USERだけでなくHKEY_LOCAL_MACHINEなどにも書き込む場合は,
APIを利用する必要があります。

また,レジストリではなく初期化ファイルを使う場合は,
同じくAPIを利用するか,自分でOpen〜Closeを使って読み書きすることになります。


トラキチ  2002-05-14 08:05:39  No: 104266

個人的には、iniファイルを使う事をお勧めします。
レジストリもiniの読み書きもここのVB
API  技術関連にあります。
レジストリにするならYuoさんの言うとおり
VBの関数を利用した方が楽です。


YuO  2002-05-14 17:53:53  No: 104267

>HKEY_LOCAL_USER

HKEY_CURRENT_USERでしたね。

それはともかく,
iniファイルは基本的にユーザーごとの設定ができないので,お勧めできません。
#NTFSのストリームを使えばできますが……。
レジストリを使うと,ユーザーごとに設定を簡単に分離してくれます。

レジストリにしろiniファイルにしろ,ユーザーに依存しない設定とユーザーに依存する設定があります。

・ユーザーに依存しない設定
ハードウェアの情報やインストールディレクトリ情報など。
レジストリではHKEY_LOCAL_MACHINE\SOFTWAREに,
iniファイルでは%WINDIR%や実行ファイルのあるディレクトリに,
それぞれ保存します。

・ユーザーに依存する設定
カスタマイズ情報や最近使ったファイル情報など。
レジストリではHKEY_CURRENT_USER\SOFTWAREに,
iniファイルでは%USERPROFILE%\Application Dataに,
それぞれ保存します。
SaveSettingでは,
HKEY_CURRENT_USER\SOFTWARE\VB and VBA Program Settings\[appname]\[section]
に保存されます。
#[]内はSaveSettingの名前付き引数の値に置換。


トラ  2002-05-15 00:07:57  No: 104268

ユーザー毎にフォルダをつくっておいて
その中にiniを保存というのではだめなんでしょうか?

レジストリ使うならアンインストールプログラムもつくって
ゴミをちゃんと消してくださいね。


YuO  2002-05-15 02:31:32  No: 104269

>ユーザー毎にフォルダをつくっておいて
>その中にiniを保存というのではだめなんでしょうか?

その場合,NTFS使っている場合はアクセス権の設定をする必要があります。
#セキュリティの問題。
さらに,ユーザー名を変更したときに同じユーザーであることを識別する必要が出てきます。

HKCUは,HKEY_USERS\[sid]のaliasですから,同一ユーザーである限り設定が保持されます。
また,Administratorsに所属するアカウントでも,他のユーザーのHKEY_USERSを覗くことはできません。


エーミール  2002-05-15 06:39:56  No: 104270

YuOさんの言うとおりにやってみたところ、どうやらうまくいったようです。皆様、ありがとうございました。


トラキチ  2002-05-15 06:41:01  No: 104271

勉強になりました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加