如何以编程方式阻止/允许访问工作站(Windows)

how to block/allow access to a workstation(windows) programmatically

本文关键字:Windows 访问 许访问 工作站 编程 方式阻      更新时间:2023-10-16

我正在寻找一种以编程方式限制访问工作站的好方法(如果您知道的话,例如CybercaféPro也可以这样做)。这是我所做的(但不是很好):文件中存储的通常软件的流程列表,并且一个小程序每10秒运行(当访问被拒绝时),此程序会读取文件,然后读取文件,然后读取文件。杀死列表中的每个运行过程。

问题是,这样,程序将不会阻止新软件,因为它不在列表中。而且,您只需要更改可执行文件的名称,以使程序无法识别它,并将其运行。

因此,您能为执行此操作的好方法提供帮助,我想要的是使计算机完全无法使用,并使其再次可用,但我想以编程方式进行此操作。

这仅适用于Windows OS;我正在用QT编程C ,但是如果它解决了我的问题,我可以处理任何其他解决方案。

最简单的解决方案可能是打开一个无框的,顶部的小部件全屏,并同时抓住键盘和鼠标(使用QWidget::grabKeyboardQWidget::grabMouse)。当您检测到小部件失去焦点时(由于按CTRL-ALT-DEL和启动任务管理器),您可以继续在100ms计时器上调用qApp->setActiveWindow(this),直到您重新获得焦点为止。

这是可以失败的,但是任何更好的东西都需要特定平台的代码。