首页 技术 正文
技术 2022年11月19日
0 收藏 744 点赞 4,812 浏览 1725 个字

                      关于软件开发中兼容win7注册表的解决方案  

编写人:CC阿爸

2014-3-14

l  近来在开发一winform程序时,发现在xp 系统访问注册表一切正常。可偏这个时候,微软又提醒大家。Xp今年的4月份会寿终正寝了。因此必需要考虑到对win7的兼容。

Win7在访问时,返回的注册表值,就是与实际看到的不一致。

经过在网上搜索部分解决方案,以下这位同学的解决方案才是正解,终于找到相关解决办法。

首先读取注册表要给用户管理员得权限。exe在Vista或Win7下不以管理员权限运行,会被UAC(用户帐户控制)阻止访问系统某些功能,如修改注册表操作等;如何让exe以管理员权限运行呢,方法有两种,一个是直接修改exe属性;另一个是在程序中加入MANIFEST资源,下面分别介绍。

1.   直接修改exe属性:

1)   右击“exe”,在弹出的菜单中选择“属性”,出现的界面如下图:

关于软件开发中兼容win7注册表的解决方案

2)   选择“兼容性”项,并勾选“以管理员身份运行此程序”项即可。

2.    在C#程序中加入MANIFEST资源,

1)         打开vs2008工程,看在Properties下是否有app.manifest这个文件;如没有,右击工程在菜单中选择“属性”,出现界面如下:

关于软件开发中兼容win7注册表的解决方案

关于软件开发中兼容win7注册表的解决方案

关于软件开发中兼容win7注册表的解决方案

2)         选中“安全性”,在界面中勾选“启用ClickOnce安全设置”后,在Properties下就有自动生成app.manifest文件。

3)         打开app.manifest文件,在<security>下加入

关于软件开发中兼容win7注册表的解决方案关于软件开发中兼容win7注册表的解决方案 <requestedPrivileges>
          <requestedExecutionLevel level=”requireAdministrator” cess=”false”/>
  </requestedPrivileges>

4)         重新编译即可。全部代码如下:

关于软件开发中兼容win7注册表的解决方案关于软件开发中兼容win7注册表的解决方案 <?xml version=)    <asmv1:assembly manifestVersion=)      <assemblyIdentity version=)      <trustInfo xmlns=)        <security>
)        <requestedPrivileges xmlns=)          <!– UAC 清单选项
)              如果希望更改 Windows 用户帐户控制级别,请用以下节点之一替换
)              requestedExecutionLevel 节点。
)   
)          <requestedExecutionLevel  level=)          <requestedExecutionLevel  level=)          <requestedExecutionLevel  level=)   
)              如果您希望利用文件和注册表虚拟化提供
)              向后兼容性,请删除 requestedExecutionLevel 节点。
)          –>
)          <!–<requestedExecutionLevel level=)          <requestedPrivileges>
)            <requestedExecutionLevel level=)          </requestedPrivileges>
)   
)        </requestedPrivileges>
)        <applicationRequestMinimum>
)          <PermissionSet )          <defaultAssemblyRequest permissionSetReference=)        </applicationRequestMinimum>
)      </security>
)    </trustInfo>
)     </asmv1:assembly>

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,105
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,582
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,429
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,200
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,836
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,919