从控制台登录而不更换GINA时限制对单个应用程序的访问

问题描述:

有谁知道在Windows XP上是否有一种可行的方式来以编程方式创建和配置用户帐户,以便从控制台登录后(没有终端服务)一个特定的应用程序启动,用户被锁定到该应用程序?从控制台登录而不更换GINA时限制对单个应用程序的访问

应该阻止用户对系统进行其他操作(例如:不按Ctrl + Alt + Canc,不按Ctrl + Shift + Esc,不选择Win + e,不会任何操作)。

作为附加的可选奖励,当启动的应用程序关闭和/或崩溃时,应该注销用户。

任何现有的免费工具,语言或能够完成任务就可以了他们的任何混合物(批次,VB脚本,C,C++,等等)

我猜你正在构建一个窗口亭?

下面是更换Windows登录外壳的背景 - http://blogs.msdn.com/embedded/archive/2005/03/30/403999.aspx

有关使用IE作为替换上面的链接谈判,但可以使用任何程序。

还检查了的Windows稳态 - http://www.microsoft.com/windows/products/winfamily/sharedaccess/default.mspx

SOFTWARE \微软\的Windows NT \ CURRENTVERSION \ WinLogon的有两个值 USERINIT点是在成功登录执行的应用程序。这里的默认应用程序,userinit.exe处理域登录脚本(如果有的话),然后启动指定的Shell =应用程序。

通过在HKEY_CURRENT_USER或HKEY_USERS配置单元中创建或替换这些条目,可以替换特定用户的shell。

一旦你拥有了自己的shell,你几乎不用担心,除非“kiosk用户”可以访问键盘并且可以按ctrl-alt-del。这似乎是硬编码启动taskmgr.exe - 而不是取代exe,您可以设置以下注册表项

[SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\taskmgr.exe] 
Debugger="A path to an exe file that will be run instead of taskmgr.exe"