微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何计算Windows用户的登录时间VC ++

如何解决如何计算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 举报,一经查实,本站将立刻删除。