首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

开启UAC的windows7上写注册表出错

2013-01-06 
开启UAC的windows7下写注册表出错TRegistry *Regnew TRegistry()Reg-RootKeyHKEY_LOCAL_MACHINEif(Re

开启UAC的windows7下写注册表出错
        TRegistry *Reg=new TRegistry(); 
        Reg->RootKey=HKEY_LOCAL_MACHINE; 
        if(Reg->OpenKey("Software\\Microsoft\\Windows\\Currentversion\\Run",false)) 
        { 
            Reg->WriteString("aaa","aaa"); 
            Reg->CloseKey(); 
        } 
        delete Reg; 
        Reg = NULL; 

代码如上,开发工具为bcb6,关闭uac就能正常执行上面的代码,如果打开uac执行到Reg->WriteString("aaa","aaa");这段就会提示"Failed to set data for 'aaa'",在网上找了一下,发现没有相应的资料,这类问题该怎么处理,请求高手帮助.... 

[解决办法]
不知道的帮顶,一直没有涉足win7其实芯片挺好的,呵呵
[解决办法]
你先试试用管理权限来运行看会不会报错,如果不会报错了,就直接在资源中加个XML定义就可以了。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity 
    version="1.0.0.0" 
    processorArchitecture="X86" 
    name="9el.NetDocBook" 
    type="win32" 
 />
<description>DocBook</description>
<dependency>
    <dependentAssembly>
        <assemblyIdentity 
    type="win32" 
    name="Microsoft.Windows.Common-Controls" 
    version="6.0.0.0" 
    processorArchitecture="X86" 
    publicKeyToken="6595b64144ccf1df" 
    language="*" 
        />
    </dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
        <requestedPrivileges>
            <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
        </requestedPrivileges>
    </security>
</trustInfo>
</assembly>

热点排行