首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止用户更改系统日期/时间(在Windows 7中)?

如何防止用户更改系统日期/时间(在Windows 7中)?
EN

Stack Overflow用户
提问于 2012-03-15 10:50:35
回答 2查看 15.5K关注 0票数 3

搜索过之后,一般的建议是创建一个标准的非管理员帐户。

我刚试过了。我只有一个帐户,即我自己的帐户,它是管理员,然后创建了第二个帐户(不是Guest帐户)。我注销了我自己的帐户,进入了新的帐户,并试图更改时间。Windows7弹出一个对话框,询问我的主账号是否允许这样做(并提示输入密码)。

我被告知“不能更改系统日期/时间”。我打算交付一台只有标准帐户和s/w的PC,但无法(我认为)阻止用户创建管理帐户和更改日期/时间。

我能从Delphi中从编程上阻止这一点吗?或者我只能说,如果用户想要破坏,我就无法阻止它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-15 11:05:46

在您的应用程序中,您可以实际检测到用户在应用程序运行时更改系统时间。

当系统时间更改时,您将收到WM_TIMECHANGE。

在启动时,您可以保存gettickcount (作为StartTickCount)和现在(作为StartTime)。在检查时,您可以检查tickcount之间的差异和时间之间的差异是否匹配(允许有小的差异),并了解差异。但是,如果用户更改系统时间远离您的应用程序,则此技巧不起作用。也许你可以有一个服务,这是自动开始检查这个。

如果你需要改回原来的时间,这里有一些资源:CHANGE the system TIME

顺便说一句,在操作系统级别,普通用户不能创建管理员用户。

票数 4
EN

Stack Overflow用户

发布于 2012-03-15 11:10:24

通常,此类限制是使用Windows组策略设置的

在delphi中,您可以使用Group Policy APIRSoP WMI Classes

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9713341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档