我需要写一些注册数据(唯一的计算机号码和相应的激活码)。我可以在哪里使用任何帐户在Windows Vista上写入数据并从所有其他帐户查看?
计算机数量需要看到从其他程序和所有帐户({联系|非管理员}的用户访问控制打开{ON | OFF})
这是可以接受的编写计算机数和激活码仅来自管理员帐户,但它需要可以从任何其他帐户读取。
目前(我需要进一步测试)看起来如果CN和激活码是用UAC写的,那么当用户切换UAC时,计算机号码不可见。
我需要写一些注册数据(唯一的计算机号码和相应的激活码)。我可以在哪里使用任何帐户在Windows Vista上写入数据并从所有其他帐户查看?
计算机数量需要看到从其他程序和所有帐户({联系|非管理员}的用户访问控制打开{ON | OFF})
这是可以接受的编写计算机数和激活码仅来自管理员帐户,但它需要可以从任何其他帐户读取。
目前(我需要进一步测试)看起来如果CN和激活码是用UAC写的,那么当用户切换UAC时,计算机号码不可见。
在安装期间,您可以将其写入程序的安装文件夹,因为稍后它可能不会更改(需要写入权限)。您应该仍然拥有作为标准用户的阅读权限。否则,如何运行该程序? :)
或者您可以使用所有用户应用程序数据文件夹。在XP中,通常会映射到C:\Documents and Settings\All Users\Application Data\YourApp\
。我没有在我面前安装Vista,所以目前我无法给你确切的位置,但它应该是一个非常简单的映射。
通过
Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)
这是乔尔在贺电中提到的相同的位置,但是这是获得该值(XP & Vista和可能改变之间改变位置的正确方法返回的位置再次)。
(这当然是对于.NET,对于Win32,你想使用带有CSIDL_COMMON_APPDATA的SHGetFolderPath
函数)