Windows Kiosk 应用程序

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/3581059/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-15 15:07:19  来源:igfitidea点击:

Windows Kiosk App

c#windowsshellkiosk

提问by Darthg8r

So, I need to build a kiosk type of application for use in an internet cafe. The app needs to load and display some options of things to do. One option is to launch IE to surf. Another option is to play a game.

因此,我需要构建一个用于网吧的自助服务终端类型的应用程序。该应用程序需要加载并显示一些要做的事情的选项。一种选择是启动 IE 浏览。另一种选择是玩游戏。

I've been reading that what I probably want to do is replace the windows shell and have it run my app when the OS loads. I'd also have to disable the task manager.

我一直在读我可能想要做的是替换 Windows shell 并让它在操作系统加载时运行我的应用程序。我还必须禁用任务管理器。

This is a multipart question.

这是一个多部分问题。

  • Can I use dotnet to create this?
  • What OS do I have to use? I keep seeing windows xp embedded pop up in my readings
  • Will there be any issues with the app occasionally loading IE?
  • Are there any other tasks that I should be aware of when doing this? Other than task manager and replacing the shell.
  • If I can do it in c#, is there anything in particular that I should know about? Maybe my forms have to inherit certain classes, etc...
  • 我可以使用 dotnet 来创建它吗?
  • 我必须使用什么操作系统?我一直看到 windows xp 嵌入在我的阅读中
  • 应用偶尔加载IE会不会有问题?
  • 在执行此操作时,我还应该注意其他任何任务吗?除了任务管理器和更换外壳。
  • 如果我可以在 c# 中做到这一点,有什么特别我应该知道的吗?也许我的表单必须继承某些类,等等...

采纳答案by Stefan

You should check out Microsoft Steady State

您应该查看Microsoft 稳态

It has plenty features and are free to use.

它有很多功能,可以免费使用。

Windows SteadyState Features
Whether you manage computers in a school computer lab or an Internet cafe, a library, or even in your home, Windows SteadyState helps make it easy for you to keep your computers running the way you want them to, no matter who uses them.

Windows SteadyState 功能
无论您是管理学校计算机实验室、网吧、图书馆还是家中的计算机,Windows SteadyState 都可以帮助您轻松地让计算机以您希望的方式运行,无论谁使用他们。

Windows Disk Protection –
Help protect the Windows partition, which contains the Windows operating system and other programs, from being modified without administrator approval.Windows SteadyState allows you to set Windows Disk Protection to remove all changes upon restart, to remove changes at a certain date and time, or to not remove changes at all. If you choose to use Windows Disk Protection to remove changes, any changes made by shared users when they are logged on to the computer are removed when the computer is restarted

Windows 磁盘保护 -
帮助保护包含 Windows 操作系统和其他程序的 Windows 分区不被未经管理员批准而被修改。Windows SteadyState 允许您设置 Windows 磁盘保护以在重新启动时删除所有更改,以在特定日期删除更改和时间,或者根本不删除更改。如果您选择使用 Windows 磁盘保护来删除更改,则在重新启动计算机时,共享用户在登录到计算机时所做的任何更改都将被删除

User Restrictions and Settings –
The user restrictions and settings can help to enhance and simplify the user experience. Restrict user access to programs, settings, Start menu items, and options in Windows. You can also lock shared user accounts to prevent changes from being retained from one session to the next.

用户限制和设置 –
用户限制和设置有助于增强和简化用户体验。限制用户访问 Windows 中的程序、设置、开始菜单项和选项。您还可以锁定共享用户帐户,以防止更改从一个会话保留到下一个会话。

User Account Manager –
Create and delete user accounts. You can use Windows SteadyState to create user accounts on alternative drives that will retain user data and settings even when Windows Disk Protection is turned on. You can also import and export user settings from one computer to another—saving valuable time and resources.

用户帐户管理器 –
创建和删除用户帐户。您可以使用 Windows SteadyState 在备用驱动器上创建用户帐户,即使在 Windows 磁盘保护打开时这些驱动器也会保留用户数据和设置。您还可以将用户设置从一台计算机导入和导出到另一台计算机,从而节省宝贵的时间和资源。

Computer Restrictions –
Control security settings, privacy settings, and more, such as preventing users from creating and storing folders in drive C and from opening Microsoft Office documents from Internet Explorer?.

计算机限制 -
控制安全设置、隐私设置等,例如阻止用户在驱动器 C 中创建和存储文件夹以及从 Internet Explorer 打开 Microsoft Office 文档?

Schedule Software Updates –
Update your shared computer with the latest software and security updates when it is convenient for you and your shared users.

安排软件更新 –
在您和您的共享用户方便时,使用最新的软件和安全更新更新您的共享计算机。

Download: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=d077a52d-93e9-4b02-bd95-9d770ccdb431

下载:http: //www.microsoft.com/downloads/details.aspx?displaylang=en& FamilyID=d077a52d-93e9-4b02-bd95-9d770ccdb431

回答by ajay_whiz

?Can I use dotnet to create this?

?我可以使用 dotnet 来创建它吗?

You can use .NET.

您可以使用 .NET。

?What OS do I have to use? I keep seeing windows xp embedded pop up in my readings

?我必须使用什么操作系统?我一直看到 windows xp 嵌入在我的阅读中

you can use any OS

你可以使用任何操作系统

?Will there be any issues with the app occasionally loading IE?

?应用偶尔加载IE会不会有问题?

in fact you can host IE control on your winform/wpf application, so no need to open IE.

事实上,你可以在你的 winform/wpf 应用程序上托管 IE 控件,所以不需要打开 IE。

?If I can do it in c#, is there anything in particular that I should know about? Maybe my forms have to inherit certain classes, etc...

?如果我可以在 c# 中做到这一点,有什么特别我应该知道的吗?也许我的表单必须继承某些类,等等...

there is nothing particular about kiosk application. just you need to have you app on top of everything even taskbar. hide minimize/restore/close buttons. provide a alternate way to close your app eg. by key combination

kiosk 应用程序没有什么特别之处。只是您需要将您的应用程序放在所有内容甚至任务栏之上。隐藏最小化/恢复/关闭按钮。提供关闭应用程序的替代方法,例如。通过组合键

回答by Chase Florell

you could build an ASP.NET application that runs on the local machine (XP Pro, Vista Business, 7 Pro). Then when the OS boots, you can launch IE in kiosk mode

您可以构建在本地计算机(XP Pro、Vista Business、7 Pro)上运行的 ASP.NET 应用程序。然后当操作系统启动时,您可以在 kiosk 模式下启动 IE

basically you create an IE shortcut in your Startup folder, and the shortcut points to

基本上你在你的启动文件夹中创建一个 IE 快捷方式,快捷方式指向

“C:\Program Files\Internet Explorer\IEXPLORE.EXE” –k

“C:\Program Files\Internet Explorer\IEXPLORE.EXE” –k

an ASP.NET web application can launch local EXE's if it has the right permissions.

如果 ASP.NET Web 应用程序具有正确的权限,则它可以启动本地 EXE。

回答by mirezus

You could use a windows service that would kick off your UI that could have your games in it AND a web browser CONTROL (WinForms/WPF). This could greatly simplify your task of securing the UI, because you would just need to set permissions on the windows service / app rather than trying to lock down the entire OS. Futhermore, you could use an additional service to provide some redundancy and always check if your UI program is still running. IF a user somehow got the window to close, this background service could just boot your kiosk app up again (also useful if it crashes). Hereis also an example of how to disable the task manager on this machine.

您可以使用 Windows 服务来启动您的 UI,其中可以包含您的游戏和 Web 浏览器控件(WinForms/WPF)。这可以大大简化您保护 UI 的任务,因为您只需要在 Windows 服务/应用程序上设置权限,而不是试图锁定整个操作系统。此外,您可以使用附加服务来提供一些冗余,并始终检查您的 UI 程序是否仍在运行。如果用户以某种方式关闭窗口,此后台服务可以再次启动您的自助服务终端应用程序(如果它崩溃也很有用)。这里也是一个如何在这台机器上禁用任务管理器的例子。

回答by Alex Z.

I recently had to do the same kind of kiosk software as you. I myself am running a C++ software with Qt bu you could do it in C# .Net as well.

我最近不得不做和你一样的自助服务终端软件。我自己正在使用 Qt 运行 C++ 软件,但您也可以在 C# .Net 中运行。

You can easily replace the shell using the following registery :

您可以使用以下注册表轻松替换外壳:

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell

To avoid login when the computer start you can also set the following fields in Winlogon :

为了避免在计算机启动时登录,您还可以在 Winlogon 中设置以下字段:

AutoAdminLogon = 1

DefaultUserName = “USERNAME”

DefaultPassword = “PASSWORD”

DefaultDomainName = “ComputerName” : e.g : USERNAME-PC

自动管理员登录 = 1

默认用户名 = “用户名”

默认密码 = “密码”

DefaultDomainName =“ComputerName”:例如:USERNAME-PC

Be aware that you cannot use this method to start a software as administrator. If that is your purpose I could give you a few tricks in that direction as well.

请注意,您不能使用此方法以管理员身份启动软件。如果这是你的目的,我也可以在这个方向上给你一些技巧。

  • Are there any other tasks that I should be aware of when doing this? Other than task manager and replacing the shell.
  • 在执行此操作时,我还应该注意其他任何任务吗?除了任务管理器和更换外壳。

In windows if you want to create a kiosk you will also need to disable :

在 Windows 中,如果你想创建一个信息亭,你还需要禁用:

  1. The Windows + X keys :
  1. Windows + X 键:

a. Type gpedit.msc from cmd prompt or start menu

b. Then go to : User Configuration>Administrative templates>Windows Components>File Explorer

c. In the right panel enable “Turn Off Windows + X hotkeys”

一种。从 cmd 提示符或开始菜单输入 gpedit.msc

湾 然后转到:用户配置>管理模板>Windows组件>文件资源管理器

C。在右侧面板中启用“关闭 Windows + X 热键”

  1. Alt+X keys

  2. Sticky keys : Disable Sticky Keys

  3. Ctrl + Alt + Del :

  1. Alt+X 键

  2. 粘滞键: 禁用粘滞键

  3. Ctrl + Alt + Del :

a. Type gpedit.msc from cmd prompt or start menu

b. Select User

Configuration->Administrative Templates->System->Ctrl-Alt-Del Options

c. Double click on each : Remove Change Password, Remove Lock Computer, Remove Task Manager, and Remove Logoff and select Enabled then OK.

d. Select Computer Configuration->Administrative Templates->System->Logon

e. In the right hand pane, double click on Hide entry points for Fast user Switching f. Select Enabled then OK

This will remove all the nasty items in the ctrl-alt-del screen that can give users access to things you want to protect.

一种。从 cmd 提示符或开始菜单输入 gpedit.msc

湾 选择用户

配置->管理模板->系统->Ctrl-Alt-Del选项

C。双击每个:删除更改密码、删除锁定计算机、删除任务管理器和删除注销,然后选择启用,然后确定。

d. 选择计算机配置->管理模板->系统->登录

e. 在右侧窗格中,双击隐藏快速用户切换 f 的入口点。选择启用然后确定

这将删除 ctrl-alt-del 屏幕中的所有讨厌的项目,这些项目可以让用户访问您想要保护的东西。

I didn't have to run IE so I cannot give you any details about that.

我不必运行 IE,因此我无法向您提供有关此的任何详细信息。