如何解决如何计算Windows用户的登录时间VC ++
|| 我正在编写Windows服务以进行家长控制(Visual C ++)。 我在以下方面遇到麻烦: 如何计算Windows用户今天登录的时间(时间以小时为单位) 当每天的时间超过指定的值(例如5小时)时,如何从用户Windows帐户触发注销。 任何帮助表示赞赏。 问候!解决方法
为此,我认为可能有几种方法。
我认为最简单的方法是使用一个计时器,该计时器可以在服务启动时启动(或者如果您的应用程序放置在启动菜单中,则在应用程序启动时启动)。
为此,您可以使用与WM_TIMER消息关联的SetTimer方法:
http://msdn.microsoft.com/zh-CN/library/ms644906(v=vs.85).aspx
您应该使用CTime函数获取启动计时器之前的时间,例如:
CTime t;
t.GetCurrentTime ();
timeAtLaunched=t.GetSecond(); //or GetHour()
之后,您可以在计时器函数中放入类似的CTime调用,以获取currentTime值,并计算currentTime值与timeAtLaunched值之间的差
如果用户多次连接和断开连接,要保持一天中的连接时间,应将差值保留在文件中或注册表中。
要强制注销,可以使用:
ExitWindowsEx (EWX_SHUTDOWN | EWX_FORCE,SHTDN_REASON_MAJOR_OPERATINGSYSTEM |
SHTDN_REASON_MINOR_UPGRADE | SHTDN_REASON_FLAG_PLANNED)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。