如何计算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)
    

要回复问题请先登录注册