随着vista和win7的日益普及,UAC的概念也日渐被人们所接受。于是程序员碰到了一个新问题:程序无法访问注册表及程序所在的文件系统。程序的临时信息还好,可以放在ProgramData文件夹中(这个文件夹不要求用户权限就可以读写),但是如果程序需要更持久的信息,那么放在这里显然不太安全。 程序只有以管理员权限才可以正常读写。这有一点麻烦,你怎么能够告诉每个用户都去使用管理员权限呢?最好的方法当然是每次提示!
其实visual Studio已经为我们提供了这样的功能。只要在Solution Explorer的当前项目下的properties文件夹中修改app.manifest(没有的话可以在项目上右键添加一个Application manifest file)中的requestedExecutionLevel,属性设置为:就可以了。 这样,如果用户开启了UAC的话,每次运行程序都会要求用户以管理员身份运行^_^