我是程序员而不是管理员。我大大修改了一个1997年编写的旧程序,在Windows XP~7年前运行。那时,我在VC ++ 2005中重写了。本地生产网络已更新为Win7。程序已更新至VC ++ 2010。
问题:程序在新环境中运行,但前提是用户具有管理员权限。没有,无法访问所需的文件。尝试修复已授予用户组访问所需文件的权限。用户可以“手动”访问文件,但程序仍然失败。
有没有办法给应用程序管理员权限以便它可以访问文件?
不接受允许用户以管理员身份运行。我们必须在国防部限制下运作。有什么东西我作为应用程序的人可以做吗?如果没有,解决方案是什么?
答案 0 :(得分:1)
回顾:问题是大量的临时文件,它们在原始应用程序中被写入C:\ root目录。解决方案是使用“getenv_s”通过环境变量获取用户的目录。修改了路径名,以便从“getenv_s”返回的字符串与临时文件名连接在一起。费力但问题解决了。
答案 1 :(得分:0)
XP和Windows 7之间的巨大差异是访问系统(用Vista输入的用户访问控制,并在7中进一步完善)。理论上,您可以以管理员用户身份运行应用程序,或者提供以管理员用户身份访问必要系统组件和文件的服务。但是没有办法给应用程序本身提供额外的权限。
您的另一个选择是找出导致问题的具体原因并在您的应用程序中更正问题。有可能是系统文件等。