我需要建立一个服务,在拔下网线时显示一条消息并锁定计算机(只需使用Windows窗体)(这样他们就无法在没有网络的情况下继续操作-这适用于学生不断拔出电缆以绕过某些块的学校)
我已经看到,如果你允许的话,你可以通过一个服务与桌面进行交互,我只是想知道,即使没有用户登录,Windows窗体也会显示吗?
因为这个程序需要在进行身份验证时捕获它们,然后拔出它。
干杯理查德
发布于 2012-11-08 06:28:01
windows上有几个桌面,一个用于windows服务,一个用于登录,一个用于用户等。有关更多信息,请参阅this link。
我认为您可以做的是创建一个新的桌面,然后在网络连接断开时切换到该桌面。首先,请参阅this question。然而,由于安全限制,这不能在windows服务中工作,因为它是一个不同的会话。然而,你能做的(我认为)是让一个应用程序在用户登录时自动启动,并让该应用程序与windows服务对话。该应用程序可以进行桌面切换。
然后,服务将管理网络并通知应用程序。如果应用程序没有在固定的超时时间内启动,或者被终止,我认为您应该能够使用the WTS-api注销用户。
发布于 2012-11-08 06:29:39
从Vista开始,Windows服务不能与任何交互式桌面交互。这意味着您不能从Windows服务中执行您所建议的操作。您需要一个标准的桌面应用程序。
发布于 2012-11-08 07:30:17
您可以创建一个简单的应用程序,它显示任何闪屏,并有机会取消,然后锁定计算机(或以您希望的方式工作),而不是作为windows服务,而是作为桌面应用程序。无论何时触发网络断开事件,都可以触发启动该应用程序。
有关如何设置计划任务以便在网络断开时启动应用程序的信息,请参阅this post。
有关如何以编程方式锁定计算机的信息,请参见this post
https://stackoverflow.com/questions/13279276
复制相似问题