GetPrivateProfileString() 调用在 Windows XP 上运行良好,但在 Vista 上运行时失败并出现访问被拒绝错误。
调用是在我编写的 Windows 服务产生的线程内进行的。Windows 服务本身使用本地计算机上的用户帐户的凭据运行(被认为是必需的,因为代码需要访问 HKCU)。
我怀疑这与 UAC 或虚拟化有关。
我欢迎任何关于如何让这个电话在 Vista 上工作的建议,或者关于我可以运行以帮助找到解决方案的实验的任何建议。
谢谢
GetPrivateProfileString() 调用在 Windows XP 上运行良好,但在 Vista 上运行时失败并出现访问被拒绝错误。
调用是在我编写的 Windows 服务产生的线程内进行的。Windows 服务本身使用本地计算机上的用户帐户的凭据运行(被认为是必需的,因为代码需要访问 HKCU)。
我怀疑这与 UAC 或虚拟化有关。
我欢迎任何关于如何让这个电话在 Vista 上工作的建议,或者关于我可以运行以帮助找到解决方案的实验的任何建议。
谢谢
Parts of the Windows registry are locked down in Vista for security reasons.
For example if you are trying to access the HKEY_LOCAL_MACHINE this will fail for a user with out the correct privileges.
If you give the user a sufficient privilege level they will be able to access the registry but the recommended approach is to move the registry settings to the HKEY_CURRENT_USER branch of the registry, since this is not locked and is accessible by all users.