サービスプログラムからのレジストリの取得

[戻る]
紅' 2008/09/19(金) 09:45:26
レジストリの設定値の参照について教えてください。
環境は WinXP & VC2003 です。

以下のプログラムを作成しました。

・RegCreateKeyEx / RegQueryValueEx / RegCloseKey を使用して
 DWORD 値を取得する
・パスは HKEY_CURRENT_USER の下の test 
・上記に value という名前で DWORD 値を作成し、参照する

試験用のプログラムでは期待通りに動作しました。
これを本番用のプログラムに移植して同じ環境で試したところ、
RegCreateKeyEx で失敗するようになりました。
パスを変更しても同様の結果でした。

この本番用プログラムはサービスとして動作します。
このことが原因のようにも思えるのですが、特に異なるユーザで
起動するような設定はしていません。

動作を確認した際のユーザと、レジストリの設定を行った際の
ユーザは同じ Administrator でした。

原因にお心当たりがございましたらご教示いただけると幸いです。
よろしくお願いいたします。

シャノン 2008/09/19(金) 09:51:14
えーと。
サービスの設定(コンピュータの管理 > サービス)から対象のサービスを開いて、「ロ
グオン」タブを見ても、ユーザは Administrator になってますか?
というか、サービスを Administrator で動かすってどうかと。

紅' 2008/09/25(木) 15:59:35
[[解決]]
返信をありがとうございました。
遅くなってしまってすみません。

原因はサービスプログラムを起動するユーザ設定が異なっていた
ためでした。修正後に確認したところ正常に動作しました。
重ね重ねすみません。お恥ずかしい限りです。

>というか、サービスを Administrator で動かすってどうかと。

本番用のプログラムをテスト用の環境で動作させています。
このため設定がかなり適当なのです。

本番環境では留意させていただきます。
ご指摘、ありがとうございます。

古いスレッドには追加発言できません。