前两天有网友问如何让用户只有在正确登录后才能进入系统缺省的桌面。这个问题其实可以用虚拟桌面来解决,Windows 启动后让它自动运行我们的一个切换器,它创建一个新的桌面,然后在新桌面中运行我们自己的登录检查程序,只有检查通过的用户才切换回系统缺省的桌面,否则一直停留在新建的桌面中。由于新建桌面上不会有任何可操作的东西,且所有系统快捷键(包括 ctrl+alt+del)都只对缺省桌面起作用,所以不能正确登录的用户将无法使用该电脑,除了关机以外是无法退出新桌面的。
本来我们用 Windows 就是因为它的多任务方式,但在某些情况下我们却可能希望用户只运行一个特殊的程序,不被其他程序干扰,这在 DOS 下是自然的,因为 DOS 是单任务系统(当然 DOS 也有 TSR 程序可以让你临时切换到另一个程序,但功能有限)。例如我的收款机程序就是这样的例子,运行收款程序时我不希望用户还可以做其他的事情,只要是出于安全性的考虑。
下面是一个简化过的切换器示例,基本可以满足 taohu300 朋友的要求(运行这个示例需要 vfp9):