MS Access / VBA,检查桌面锁定

| 基本上,我要寻找的是MS Access(2003)检测用户是否已完成Ctrl + Alt + Del并锁定其工作站的方法。如果发生这种情况,我希望关闭打开的数据库。目前,我有一个在后台运行的隐藏表单,用于检查非活动状态,但这是不可靠的。 是否可以在VBA中执行此操作,还是应该使用另一种方法(或同时执行两种操作)? 谢谢!     
已邀请:
        您不会在Access中找到可靠的方法来执行此操作。 Ctrl / Alt / Del实际上并没有锁定计算机,它会弹出“登录”对话框,因此您需要进行辅助检测以查看用户在该对话框中选择了什么选项。 如果用户按Win + L而不是Ctrl / Alt / Del怎么办? 在Win7(和Vista?)中,用户可以从“开始”菜单锁定计算机-通常是鼠标操作,而不是键盘。 如果Access并非在按下键时具有焦点的应用程序,则该操作不可见。 您可能想要采用更多“可靠”的方法来检测应用程序自身内的空闲时间。您目前的做法是什么?您是否坚持使用2003,或者可以更新到2007/2010? 也许这些? http://www.tek-tips.com/viewthread.cfm?qid=933476 如何使用VBA在Windows XP中获得空闲时间? 这些仍然是基于计时器的,而不关注登录状态。 tek-tips代码为VB,它可能适用于VBA,也可能不适用。 SO链接是VBA,看起来非常相似,因此有潜力。     
        要在Win 7中检查Locked System,您需要一些技巧。我有一个代码,当单击它时,它将锁定系统(并记录该时间)。然后它将暂停5秒钟(application.wait time方法),由于系统已锁定,用户将看不到它。然后在代码中放入一个消息框。当用户回来时,他会看到一个消息框弹出窗口,显示“您的休息结束了吗”。单击“确定/取消”按钮时,将代码置于弹出按钮中以记录时间。通过这种方式,您可以捕获两次-1.系统何时锁定和何时解锁。 如果您有任何问题,请告诉我。 riyajshaikh7@gmail.com     

要回复问题请先登录注册