我想写个能重命名、删除、拷贝文件等功能的工具,但处理系统文件时出了问题,试了几个api,都不好用,应该是权限问题。
程序本身是提权运行的,要重命名的系统文件也通过这种方式cmd.exe /c takeown /f "%1" && icacls "%1" /grant administrators:F获得了管理员权限,也就是说此时,我手动修改是可以的(但操作系统弹窗拦截,需要点击继续才可以),如何让我的工具实现呢?FileOp.wFunc = FO_RENAME;
这种方式也不好用。向高手求助,苦恼我一天了。Windows 7操作系统API

解决方案 »

  1.   

    在项目上右击->属性->链接器->清单文件->UAC执行级别->requireAdministrator (/level='requireAdministrator')
    这样程序编绎后就是以管理员身份运行,但每次运行都提示是否以管理员运行,这是改不了的,是操作系统的决定的,任何具体管理员身份运行的程序都会弹出这个提示的
      

  2.   

    我增加了调整权限的代码,win7、win8的32位系统搞定了,但64位系统不行,这是咋回事?