日期:2014-05-17  浏览次数:21230 次

用C# 在win7下能像在XP下正常读取注册表的值吗?在线等
        /// <summary>
        /// 获取注册表中信息
        /// </summary>
        /// <returns></returns>
        private string GetRegistData()
        {
            try
            {
                RegistryKey hkml = Registry.LocalMachine;
                RegistryKey software = hkml.OpenSubKey("SOFTWARE", true);
                RegistryKey aimdir = software.OpenSubKey("RegActWithAnyImage", true);
                return aimdir.GetValue("InterActiveWithAnyImage").ToString();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message,"regedit error");
                return "0";
            }
        } 

我电脑装的是xp的,我想知道该代码能在win7下运行吗
------最佳解决方案--------------------
在win7下会遇到权限的问题,不能直接运行,也通过一下方式解决:
1.直接修改exe属性:
1) 右击“exe”,在弹出的菜单中选择“属性”,  
2) 选择“兼容性”项,并勾选“以管理员身份运行此程序”项即可。
2. 在程序中加入MANIFEST资源 C#:
打开Vs2008或vs2010工程,看在Properties下是否有app.manifest这个文件;如没有,右击工程在菜单中选择“属性”,选中“安全性”,在界面中勾选“启用ClickOnce安全设置”后,在Properties下就有自动生成app.manifest文件。
打开app.manifest文件,在<security>下加入
<requestedPrivileges>//删掉xmlns="urn:schemas-microsoft-com:asm.v3"
         <requestedExecutionLevel level="requireAdministrator" cess="false"/>
       </requestedPrivileges>
,重新编译即可
------其他解决方案--------------------
LocalMachine需要管理员权限。

程序执行前需要点右键,以管理员身份运行才可以。

你也可以嵌入manifest资源,像一些程序那样,程序中包含一个“盾牌”图标,在程序启动的时候自动以管理员身份加载(仍然需要用户的确认)。
------其他解决方案--------------------
你装过win7不就知道了。
------其他解决方案--------------------
能,但必须要管理员方式
------其他解决方案--------------------
引用:
在win7下会遇到权限的问题,不能直接运行,也通过一下方式解决:
1.直接修改exe属性:
1) 右击“exe”,在弹出的菜单中选择“属性”,  
2) 选择“兼容性”项,并勾选“以管理员身份运行此程序”项即可。
2. 在程序中加入MANIFEST资源 C#:
打开Vs2008或vs2010工程,看在Properties下是否有app.manifest这个文件;如没有,右击工程在菜单中选……

貌似就是这个样……找个电脑试试
------其他解决方案--------------------
是管理员权限运行就可以