- ベストアンサー
XPのレジストリ
よろしくお願いいたします。 今、VB6.0 SP5でレジストリを操作するプログラムを作っています。 Win95/98/98SE/MEでは値の書き込み/削除が出来たのですが WinXPでは出来ませんでした。 WinXPではWin95/98/98SE/MEと何が違うのでしょうか? 書き込みたいのは、 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Toolbar です。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
どのようなAPI??を使っているのかわからないので 回答にはなってませんが,下記だとうまくいきますよ!! http://homepage1.nifty.com/rabikatsu/vb/registory.htm
その他の回答 (4)
- taka_tetsu
- ベストアンサー率65% (1020/1553)
>XP HomeEditionで教えていただけるとたすかります。 XP HomeEditionだと、制限ユーザは無いですね。 書き込み方さえあっていれば、問題なく書き込めます。 で、Win9xでは正常に書き込めるというので、書き込み方がまずいと思われます。 で、確認事項があります。 1.レジストリ書き込みはAPIを使用していますか? 2.APIを使用しているのであれば、RegCreateKeyEx、RegOpenKeyEx、RegSetValueExのどれで失敗していますか? 3.RegCreateKeyExを使用して、ここでエラーが発生しているのであれば、 SECURITY_ATTRIBUTESのところの指定の仕方に誤りがあると思われます。 #1の方の参考urlを見て、???であれば、その部分のソースとDeclare文をのせてください。
補足
>>XP HomeEditionで教えていただけるとたすかります。 >XP HomeEditionだと、制限ユーザは無いですね。 >書き込み方さえあっていれば、問題なく書き込めます。 教えてくれてありがとうございます。 XP Professionalだとadministrator権限がないと書き込み出来ず、 XP HomeEditionだと、誰でも書き込めるということなんですね。 ちなみに#1の方に教えてもらったURLを参考にして XPでも書き込める様になりました。 以前は、 RegOpenKeyEx、RegSetValueEx、RegCloseKey と処理していたのですが 今は、 RegCreateKeyEx、RegSetValueEx、RegCloseKey と変更しました。 これでWin9xでもWinXPでも書き込めるようになりました。 #1の方には感謝しています。
- taka_tetsu
- ベストアンサー率65% (1020/1553)
>すみませんが >どこを見れば分かるのでしょうか? いろいろなところで見られますが、とりあえず以下の方法で。 スタート→マイコンピュータを右クリックして、管理を選んでローカルユーザとグループを選択します。 そこで、ユーザを選択し、現在ログインしているユーザのプロパティを開き、所属するグループで確認できます。 #XP Professionalでよろしいですか?
補足
すみませんが XP HomeEditionで教えていただけるとたすかります。 よろしくお願いいたします。
- taka_tetsu
- ベストアンサー率65% (1020/1553)
>権限があるかどうかっていうのは、どこを見れば分かりますでしょうか? ログインしているユーザがadministratorsやPowerUserのグループに属しているかです。 制限ユーザの場合、書き込めません。
補足
すみませんが どこを見れば分かるのでしょうか?
- taka_tetsu
- ベストアンサー率65% (1020/1553)
HKEY_LOCAL_MACHINEの下にはadministrator権限がないと書き込みできませんが、権限はありますか?
補足
権限があるかどうかっていうのは、どこを見れば分かりますでしょうか? ちなみにregedit.exeで手動で書き込みは可能でした。
お礼
ありがとうございます。 さっそく見てみます。