一般地,我们开发的应用程序都在管理员权限下运行,但如果在受限用户下却不能正常运行。一般都是权限不够,应用程序使用到的权限通常有:
1.注册表权限
HKEY_LOCAL_MACHINE目录受限用户只有读取权限,没有修改权限。
2.文件夹权限
一般将只读的程序文件放到C:\Program Files(不同操作系统不相同,可以通过环境变量获取)下面,用户数据或者配置文件放到当前用户目录或者所有用户目录(C:\Documents and Settings\All Users,不同操作系统目录不一样)。
程序放到受限用户运行,最简单的方法就是给指定的注册表目录和文件目录授予权限。
注册表权限设计:
![](http://www.cppblog.com/images/cppblog_com/fengyue/reg.JPG)
文件目录权限设置:
![](http://www.cppblog.com/images/cppblog_com/fengyue/folder.JPG)
为了避免权限问题,我们开发应用程序访问注册表最好根据需要设置权限,不要什么都用KEY_ALL_ACCESS,尽量不要使用注册表。避免文件权限问题,最好程序和数据分离。