代码之家  ›  专栏  ›  技术社区  ›  ZombieSheep

报摊模式下的WPF-任务栏故障

  •  4
  • ZombieSheep  · 技术社区  · 15 年前

    我正在尝试构建一个应用程序,它需要在PC运行时锁定对PC的访问。我需要让应用程序以全屏模式运行在最上面,并确保alt-tabbing不允许访问其他应用程序或任务栏。

    到目前为止,我已经设置了topmost=true,windowstyle=windowstyle.none和windowstate=windowstate.maximized,这可以实现我所需要的大部分功能,但我仍然得到任务栏可见的实例。我已经尝试在窗口上实现LostFocus行为,但这似乎并不能提供我需要的行为。

    有人能指出我需要实现这一行为的方向吗?

    附加信息
    不幸的是,这个项目的性质是这样的,我们不能改变客户机,他们运行的是XP、Vista和Win7的混合。PC不属于我们,但将以尽可能安全的方式用于交付内容。PC机的所有者知道运行软件的限制,并很高兴在我们的应用程序执行期间将其“锁定”,但不能更改。

    其他方式
    HakonB 提到了斯科特·汉塞尔曼的婴儿粉碎应用程序,所以我去找他处理情况的方法。正如Hakonb所说,这不是处理丢失焦点的最干净的方法,但它似乎有效,或者至少应该在我找到更好的解决方案之前这样做。他使用一个计时器每秒触发一次,并调用user32.dll的setForegroundWindow(intptr hwnd)方法获取焦点,而不管它是否有焦点。谢谢你的提醒,哈康布!

    1 回复  |  直到 15 年前
        1
  •  4
  •   HakonB    15 年前

    看看斯科特·汉瑟曼的婴儿奶昔。您可以在 BabySmash

    他有几篇博客文章描述了他为制作这个应用程序所做的工作。它的特点是婴儿安全应用在亭模式。

    你可以在上找到这个项目 Codeplex