我看到程序存储永久数据(文件,数据库)(对于XP)Documents and Settings\<user>\Local Settings\Application Data\Company\Software
而SHGetSpecialFolderPath()可以调用CSIDL_LOCAL_APPDATA来获取它。但是,Windows NT服务的存储目录是什么,如果服务在SYSTEM,LOCAL_SERVICE或NETOWRK_SERVICE帐户下运行,会有区别吗?我看到LOCAL_SERVICE和NETWORK_SERVICE在Documents and Settings
中有“主页”目录。
我应该使用CSIDL_LOCAL_APPDATA
还是CSIDL_COMMON_APPDATA
?
编辑:
我将使用lpServiceStartName = "NT AUTHORITY\\NetworkService"
和CSIDL_LOCAL_APPDATA
运行该服务:
C:\Documents and Settings\NetworkService\Local Settings\Application Data
对于Windows XP。我的意思是,这是一条有效的道路。所以也许我应该使用CSIDL_LOCAL_APPDATA
,因为我存储的数据只与服务相关(它不是共享的)。