我寫了一個窗口服務。並且我能夠成功安裝/運行該服務。現在我已經爲服務添加了一個計時器,我希望能夠通過註冊表調整時間間隔。但我不明白爲什麼GetSetting("MyAppName", "MySection", "IntervalSetting")
不會返回註冊表中的值!可以在Windows服務中調用GetSetting()嗎?
我錯過了什麼嗎?從Windows服務調用GetSetting()時不起作用?
我寫了一個窗口服務。並且我能夠成功安裝/運行該服務。現在我已經爲服務添加了一個計時器,我希望能夠通過註冊表調整時間間隔。但我不明白爲什麼GetSetting("MyAppName", "MySection", "IntervalSetting")
不會返回註冊表中的值!可以在Windows服務中調用GetSetting()嗎?
我錯過了什麼嗎?從Windows服務調用GetSetting()時不起作用?
從MSDN:
「 GetSetting要求,因爲它的HKEY_LOCAL_USER註冊表項,直到用戶以交互方式登錄這是不活躍下運行的用戶身份登錄」
您的服務在哪個帳戶下運行?如果它是LocalSystem,則實際上沒有用戶登錄。即使您冒充IIRC,也不會加載註冊表配置單元。
服務正在運行的用戶有權訪問註冊表嗎?
該服務在管理員帳戶下運行,並且我以自己的身份登錄(即不是管理員) – swolff1978 2009-08-04 21:20:34