如何以编程方式阻止/允许访问工作站(Windows)
how to block/allow access to a workstation(windows) programmatically
我正在寻找一种以编程方式限制访问工作站的好方法(如果您知道的话,例如CybercaféPro也可以这样做)。这是我所做的(但不是很好):文件中存储的通常软件的流程列表,并且一个小程序每10秒运行(当访问被拒绝时),此程序会读取文件,然后读取文件,然后读取文件。杀死列表中的每个运行过程。
问题是,这样,程序将不会阻止新软件,因为它不在列表中。而且,您只需要更改可执行文件的名称,以使程序无法识别它,并将其运行。
因此,您能为执行此操作的好方法提供帮助,我想要的是使计算机完全无法使用,并使其再次可用,但我想以编程方式进行此操作。
这仅适用于Windows OS;我正在用QT编程C ,但是如果它解决了我的问题,我可以处理任何其他解决方案。
最简单的解决方案可能是打开一个无框的,顶部的小部件全屏,并同时抓住键盘和鼠标(使用QWidget::grabKeyboard
和QWidget::grabMouse
)。当您检测到小部件失去焦点时(由于按CTRL-ALT-DEL和启动任务管理器),您可以继续在100ms计时器上调用qApp->setActiveWindow(this)
,直到您重新获得焦点为止。
这是可以失败的,但是任何更好的东西都需要特定平台的代码。
相关文章:
- 为什么 Windows 拒绝访问某些进程的名称?
- Windows C++:文件夹移动访问被拒绝错误
- AWS AMI 中的 Windows DPAPI 失败,访问被拒绝
- 如何在 Windows 2016 Server 版本 1607 中访问 SetThreadDescription()
- Windows 后台服务(系统配置文件)无法使用 C++ 访问 win 10 上的用户 appData 文件夹?
- 确实可以提高directory_iterator在Windows上按字母顺序访问文件和文件夹
- Windows C++静态库在初始化期间无法访问外部方法
- C++ Windows:从主进程和 CallWndProc 进程访问相同的变量
- 如何:监视Windows中另一个进程的文件访问?
- C++ Windows - 以编程方式检查软件是否访问互联网?
- Windows错误:异常:使用从C++到Python的ctypes创建DLL时出现访问冲突或Windows错误193
- 如何在Qt中为任何QLabel设置可访问的名称,我们可以使用Windows讲述人读取
- 设置Windows计时器,访问被拒绝
- Windows 10 是否保护您不访问其他程序正在使用的内存?
- 通过UWP应用程序定位Windows 10,通过OpenNi 2访问构造传感器
- 如何在 Windows 10 应用程序中访问C++默认线程池?
- 使用 NamedPipe 访问 Windows 服务之间的安全性
- Windows C++程序中的访问冲突是否总是立即崩溃
- 从Windows*访问小部件
- 从主循环windows访问线程变量