我正在开发一个安装在程序文件文件夹中的 vc++ 后台应用程序。它在手动启动时工作正常,它在同一文件夹中创建 xml 文件。但是,当应用程序配置为启动时,它并没有创建文件。
即使我提供了 requireAdministrator 权限,它也不会在启动时创建文件。
这与在没有 UAC 提示的情况下向启动时启动的应用程序授予管理员权限的问题相同?
但是当程序以管理员身份运行时它不会在启动时启动,这是我的问题
但我正在为 vc++ 中的解决方案工作。
请帮助我在这方面工作了一个多星期
我正在开发一个安装在程序文件文件夹中的 vc++ 后台应用程序。它在手动启动时工作正常,它在同一文件夹中创建 xml 文件。但是,当应用程序配置为启动时,它并没有创建文件。
即使我提供了 requireAdministrator 权限,它也不会在启动时创建文件。
这与在没有 UAC 提示的情况下向启动时启动的应用程序授予管理员权限的问题相同?
但是当程序以管理员身份运行时它不会在启动时启动,这是我的问题
但我正在为 vc++ 中的解决方案工作。
请帮助我在这方面工作了一个多星期
我假设您启用了 UAC(即出现 UAC 提示)。如果是这样,当您从资源管理器启动时,您总是会看到它,并且不会从管理模式 Visual Studio 中看到(因为 VS 已提升),因此您的进程将被提升。
但是,当您的进程启动时,UAC 不会出现,并且您的应用程序将无法启动。最好不要让您的应用程序需要管理员权限(为什么需要?)。您可以将数据保存在其他文件夹中。
如果必须,您可能需要创建一个服务,该服务将以提升模式启动您的应用程序(是的,没有任何 UAC 提示)。
请检查您的应用程序的系统事件报告,因为这不容易调试。
将 XML 文件移动到 ProgramData ( CSIDL_APPDATA
)。
您是否在项目中添加了适当的清单?在 VC++ 中,您必须添加一个(http://msdn.microsoft.com/en-us/library/windows/desktop/bb756929.aspx)