gpt4 book ai didi

无法在 Windows 8 上使用 SetSystemTime 设置时钟

转载 作者:太空狗 更新时间:2023-10-29 14:59:30 24 4
gpt4 key购买 nike

我的应用程序使用 SetSystemTime() 从 GPS 源设置 PC 时钟。这在禁用了用户帐户控制的 Windows 7 中工作正常,但在 Windows 8 中,即使禁用了 UAC,它也会失败。我返回的错误是 ERROR_PRIVILEGE_NOT_HELD。登录机器的用户在 Administrators 组中。如果我从资源管理器中文件的上下文菜单以“以管理员身份运行”运行应用程序,我只能让它工作 - 但登录用户是管理员。

那么...我需要在 Windows 8 上做哪些不同的事情才能使 SetSysytemTime() 正常工作?我是否需要比当前用户的管理员权限更高的权限?如果是这样,什么比 Administrator 具有更高的权限?或者我是否需要以不同方式设置用户帐户以允许这些类型的调用在 Windows 8 上运行?

编辑:如评论中所述,手动尝试启用 SE_SYSTEMTIME_NAME 权限不起作用。尝试使用建议的 MSDN 方法 LsaAddAccountRights 添加权限也没有效果。

最佳答案

如果您在“用户帐户控制设置”中将 UAC slider 完全向下移动,则意味着 UAC 不会显示任何提示,但仍处于启用状态。任何正常进程仍然在没有管理权限的情况下运行,但提升(通过“以管理员身份运行”或通过声明“requireAdministrator”)将在未经用户同意的情况下发生。

禁用安全策略“用户帐户控制:在管理员批准模式下运行所有​​管理员”或将注册表项“EnableLUA”设置为 0 将更改此行为,但会阻止所有 Metro 正在运行的现代 UI 应用程序。

如果您的用户没有管理权限,则您无法在不使用服务的情况下更改系统时钟。

如果您希望您的应用程序为普通用户正常启动(但没有特殊权限)为管理员(自动)提升,您可能需要在 list 中声明“highestAvailable”。 p>

关于无法在 Windows 8 上使用 SetSystemTime 设置时钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12076140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com