我正在尝试构建一个应用程序,它需要在运行时锁定对PC的访问。 我需要在全屏模式下让应用程序以最顶层运行,并确保alt-Tabbing不允许访问其他应用程序或任务栏。 到目前为止,我已经设置了TopMost = true,WindowStyle = WindowStyle.None和WindowState = WindowState.Maximized,它实现了我所需要的大部分function,但我仍然得到任务栏变得可见的实例。 我试图在窗口上实现LostFocus行为,但这似乎并没有给我我需要的行为。 有人能指出我需要实施这种行为的方向吗? 附加信息 不幸的是,这个项目的本质是我们不能改变客户机,它们运行的是XP,Vista和Win7。 PC不归我们所有,但用于以尽可能安全的方式传送内容。 PC的所有者知道运行软件的限制,并且很高兴他们在执行我们的应用程序时被“锁定”,但是不能以其他方式改变它们。 其他方法 HakonB提到了Scott Hanselman的BabySmash应用程序,所以我一直在寻找处理这种情况的方法。 正如HakonB所说,它不是处理失去焦点的最干净的方法,但它似乎有效,或者至少应该做,直到找到更好的解决方案。 他使用每秒触发一次的计时器,并触发对user32.dll的SetForegroundWindow(IntPtr hWnd)方法的调用以获取焦点,无论它是否具有焦点。 谢谢你的单挑,HakonB!
我的公司使用公共信息亭运营。 这些信息亭运行的是Windows 8,虽然它们是安全的,但它们肯定不如您在银行看到的AKA ATMS信息亭那么安全。 运行Windows 8的原因是利用Microsoft最近推出的新Kioskfunction。 但是,如果正在运行或打算运行的软件在Windowsapp store中作为应用程序可用,则OS似乎仅允许在此KIOSK模式下运行。 此时所需的软件无法存放到Windowsapp store,但我仍然希望利用Kioskfunction。 如何使用信息亭function并仍然运行所需的应用程序? Kiosk模式的官方MS术语是Assigned Access。 我们尝试通过最少限制用户访问权限以及在启动时启动软件来尽可能地锁定自助服务终端。 另外,我们尽可能使用BitLock。 但是,启动软件仍然存在延迟,有人确实认为网上冲浪很可能会这样做。 我知道Microsoft已经为Windowsapp store应用设置了Assigned Access规则,但我仍然在寻找任何可能的解决方法。 甚至可以快速制作Windowsapp store应用的方法,仅适用于我的用途。 欢迎使用第三方软件。 但是,任何有助于我们案件的建议都值得赞赏。 当然,在Active Directory,GPEdit和Registry中玩游戏将更接近我想要实现的目标。 我面临的一个主要问题是Windows桌面和Metronic UI将在应用程序加载之前加载,而在Kiosk模式下: 请参阅此处 – 启动时间更快。 用户使用此启动时间来检查和使用攻击的时间。 因此,即使有很好的定制,我也会遇到问题,即它永远不会像MS那样有效。 最后,我将其留给MS以获得最佳结果。 很多人都在寻找这个答案,我敢肯定,任何帮助都表示赞赏。 TLDR:如何在没有Windowsapp store应用的情况下使用Windows 8.1 Kioskfunction,但是有软件吗?