2008-10-30 44 views
4

我需要写一些注册数据(唯一的计算机号码和相应的激活码)。我可以在哪里使用任何帐户在Windows Vista上写入数据并从所有其他帐户查看?

计算机数量需要看到从其他程序和所有帐户({联系|非管理员}的用户访问控制打开{ON | OFF})

这是可以接受的编写计算机数和激活码仅来自管理员帐户,但它需要可以从任何其他帐户读取。

目前(我需要进一步测试)看起来如果CN和激活码是用UAC写的,那么当用户切换UAC时,计算机号码不可见。

回答

3

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

或者您可以使用所有用户应用程序数据文件夹。在XP中,通常会映射到C:\Documents and Settings\All Users\Application Data\YourApp\。我没有在我面前安装Vista,所以目前我无法给你确切的位置,但它应该是一个非常简单的映射。

3

通过

Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)

这是乔尔在贺电中提到的相同的位置,但是这是获得该值(XP & Vista和可能改变之间改变位置的正确方法返回的位置再次)。

(这当然是对于.NET,对于Win32,你想使用带有CSIDL_COMMON_APPDATA的SHGetFolderPath函数)

相关问题