程序需要以管理员权限运行,是通过在资源里面嵌入MANIFEST信息实现的,可是会带来一个问题.
以管理员权限运行,程序的界面就会扛看起来像98的主题啊,应该怎么解决啊?delphi的版本是2010,系统是win7
没加uac.res的界面加uac.res,以管理员权限运行的界面
管理员权限delphi界面

解决方案 »

  1.   

    把使用系统默认主题的选项去掉试下
    project->application->runtime themes设置成none
      

  2.   

    不行啊,把Enable runtime themes 勾去掉后还是不行啊.
      

  3.   

    问题解决了,是之前参考http://www.cnblogs.com/delphi7456/archive/2011/01/20/1940637.html做的.应该是里面的内容不够.参考了http://bbs.csdn.net/topics/320071356# 里27楼unsigned僵哥的方法做的.
    在Source\VCL目录下应该有这样两个文件sample.manifest和WindowsXP.rc,可以通过如下方法处理:1.可以通过修改sample.manifest把其中的
    XML code<trustInfoxmlns="urn:schemas-microsoft-com:asm.v3"><security><requestedPrivileges><requestedExecutionLevellevel="asInvoker"
              uiAccess="false"/></requestedPrivileges></security></trustInfo>
    改为
    Delphi(Pascal) code<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"><security><requestedPrivileges><requestedExecutionLevel
              level="requireAdministrator"
              uiAccess="false"/></requestedPrivileges></security></trustInfo>
    另存为requireAdmin.manifest2.打开WindowsXP.rc,将内容编辑成
    引用1 24 "requireAdmin.manifest"
    并另存为requireAdmin.rc3.通过命令行编译成requireAdmin.res
    引用brcc32 requireAdmin.rc4.把编译出来的文件requireAdmin.res放到$(BDS)\lib目录下5.在需要的程序当中,打开Project菜单下的Options...菜单项,将Application下面的"Enable runtime themes"的勾选去掉.6.打开Project菜单下的View Source菜单项,然后在
    Delphi(Pascal) code{$R *.res}
    下面添加一行
    Delphi(Pascal) code{$R requireAdmin.res}7.重新编译即可.