我的应用程序用于SetSystemTime()
从 GPS 源设置 PC 时钟。这在禁用用户帐户控制的 Windows 7 中可以正常工作,但在 Windows 8 中,即使禁用了 UAC,它也会失败。我回来的错误是ERROR_PRIVILEGE_NOT_HELD
. 登录到机器的用户属于管理员组。如果我从资源管理器的文件上下文菜单中以“以管理员身份运行”运行应用程序,我只能让它工作 - 但登录用户是管理员。
那么......我需要在 Windows 8 上做些什么才能SetSysytemTime()
开始工作?我是否需要比当前用户的管理员权限更高的权限?如果是这样,什么比管理员具有更高的权限?或者我是否需要以不同方式设置用户帐户以允许这些类型的调用在 Windows 8 上运行?
编辑:如评论中所述,手动尝试启用该SE_SYSTEMTIME_NAME
权限不起作用。也不会尝试使用建议的 MSDN 方法添加权限LsaAddAccountRights
。