我可以在Windows Vista上使用任何帐户向何处写入数据,并且可以从所有其他帐户查看数据



我需要写一些注册数据(唯一的计算机号和相应的激活码)。

计算机号需要从其他程序和所有帐户中可见({Admin|Non-Admin},用户访问控制打开{On|Off})

只从管理员帐户写入计算机号码和激活码是可以接受的,但它需要从任何其他帐户读取。

目前(我需要进一步测试),如果CN和激活码是在UAC关闭的情况下编写的,那么当用户打开UAC时,计算机号码就不可见了。

在安装期间,您可以将其写入程序的安装文件夹,因为以后可能不会更改(需要写访问权限)。作为标准用户,您仍然应该具有读取访问权限。否则,如何运行程序?:)

或者,您可以使用"所有用户应用程序数据"文件夹。在XP中,它通常映射到C:Documents and SettingsAll UsersApplication DataYourApp。我面前没有Vista,所以我现在不能给你确切的位置,但这应该是一个非常简单的地图。

返回的位置

Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)

这与Joel在他的消息中提到的位置相同,但这是获得该值的正确方法(它在XP和Vista之间更改了位置,并且可能再次更改)。

(当然,这是针对.NET的。对于Win32,您希望将SHGetFolderPath函数与CSIDL_COMMON_APPDATA一起使用)

相关内容

最新更新