Windows 8分层Windows通过地铁应用程序

我有一个应用程序,运行在Windows 7使用微软的分层窗口http://msdn.microsoft.com/en-us/library/ms997507.aspx 。 这个应用程序设置为具有30%的不透明度,它总是在顶部,并且对事件透明(即:将所有事件转发到其下的窗口)。 您可以将其视为您正在通过桌面查看的“屏幕”。 它目前被用来为我们的用户提供一个无所不在的反馈层。

我们已经尝试在Windows 8上运行相同的应用程序,并注意到它在桌面模式下按预期工作,但没有覆盖开始菜单和其他城域应用程序。

有没有人知道是否有顶级窗口模式,适用于Windows 8中的地铁应用程序和开始菜单上的相同的总是?

对的,这是可能的。 请看这个页面:

http://blogs.microsoft.co.il/blogs/pavely/archive/2012/05/16/windows-8-topmost-vs-topmost.aspx

具体来说,评论部分的第二篇文章:

最上面的窗口也受可访问性设置的影响。 如果你想要一个地铁之上的窗口,你需要它来声明可访问性。 这里是关键点:

  1. 应用程序必须要求uiAccess (app.manifest)

  2. 应用程序必须声明“最上面的”窗口定位(无论是在Win32 / SetWindowPos或WinForms / WPF的最上面的属性,以编程或其他方式)

  3. 不更改组策略设置,它必须安装到某个受信任的位置[ C:\WindowsC:\Program FilesC:\Program Files (x86) ]。

    • 如果您希望能够将其从任意位置运行,则必须禁用安全设置:“用户帐户控制:仅提升安装在安全位置的UIAccess应用程序”。

    • 这与将HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\ValidateAdminCodeSignatures0

  4. 所述应用程序不能在调试器中运行

  5. 如果它是一个.NET应用程序:

    • 清单必须嵌入后建立步骤

    • 应用程序必须有“延迟签名”(意味着它不能从内置的调试器运行,尽管你可以建立和连接 – 这是微软的做法)

  6. 应用程序必须使用受信任的证书进行签名。

  7. 所述可信证书必须安装到可信根证书颁发机构(这很重要!它不能只是简单地安装)

运行Windows语音识别。 它是一个最上面的窗口,漂浮在开始菜单,桌面等,所以它的可能性肯定。 我正在为Windows 8开发一个触摸模拟器,并且需要实现这个功能。

以下是实现这一目标的步骤:

http://www.pixytech.com/rajnish/2013/05/windows-8-topmost-window/

我几乎肯定,你不能有任何其他应用程序覆盖地铁应用程序。 新的Metro环境意味着运行单一的全屏应用程序(或两个,但只有在被捕捉到侧面时)。 而且,允许某个东西扮演一个中间人的角色有点危险,因为他们可以捕捉各种敏感的用户数据。

话虽如此,如果你可以设置一个窗口的“永远在上面”属性,它可能会留在开始菜单和各种Metro应用程序。 我知道它适用于任务管理器,但我从来没有尝试任何应用程序。 但是,我不知道这对于Metro应用程序来说是好的,因为它们的事件与老式的winform应用程序不同。 你必须看看你的“屏幕”是否允许触摸事件通过。