Windows 8分层Windows Over Metro应用程序

Windows 8分层Windows Over Metro应用程序,windows,windows-8,Windows,Windows 8,我有一个应用程序在Windows7上运行,使用微软的分层窗口。此应用程序设置为具有30%的不透明度,它始终位于顶部,并且对事件透明(即:它将所有事件转发到它下面的窗口)。你可以把它想象成一个“屏幕”,通过它你可以看到你的桌面。它目前正被用来作为我们用户的一个无所不在的反馈层 我们尝试在Windows8上运行同一个应用程序,注意到它在桌面模式下工作正常,但没有任何内容覆盖“开始”菜单和其他metro应用程序 有人知道在Windows 8中是否有一种等效的始终在顶部的窗口模式可以在metro应用程序

我有一个应用程序在Windows7上运行,使用微软的分层窗口。此应用程序设置为具有30%的不透明度,它始终位于顶部,并且对事件透明(即:它将所有事件转发到它下面的窗口)。你可以把它想象成一个“屏幕”,通过它你可以看到你的桌面。它目前正被用来作为我们用户的一个无所不在的反馈层

我们尝试在Windows8上运行同一个应用程序,注意到它在桌面模式下工作正常,但没有任何内容覆盖“开始”菜单和其他metro应用程序


有人知道在Windows 8中是否有一种等效的始终在顶部的窗口模式可以在metro应用程序和“开始”菜单中使用吗

我几乎可以肯定的是,你不能让任何其他应用程序覆盖Metro应用程序。新的Metro环境旨在运行单屏幕、全屏应用程序(或两个,但只有在拍摄到侧面时)。此外,允许某些东西充当中间人有点危险,因为它们可以捕获各种敏感的用户数据


也就是说,如果你能设置一个窗口的“始终在顶部”属性,它可能会停留在开始菜单和各种Metro应用程序之上。我知道它适用于任务管理器,但我从未尝试过使用任意应用程序。但是,我不知道它是否适合Metro应用程序,因为它们的事件与老式winform应用程序不同。您必须查看您的“屏幕”是否允许触摸事件通过。

是的,这是可能的。请看这一页:

特别是评论部分的第二篇帖子:

最顶部的窗口也受辅助功能设置的影响。如果您希望在Metro顶部有一个窗口,则需要它来声明可访问性。以下是要点:

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

  • 应用程序必须断言“最顶层”窗口定位(在Win32/
    SetWindowPos
    或WinForms/WPF的
    topmost
    属性中,以编程方式或其他方式)

  • 在不更改组策略设置的情况下,必须将其安装到某个受信任的位置[
    C:\Windows
    C:\Program Files
    C:\Program Files(x86)
    ]

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

    • 这与将
      HKLM\Software\Microsoft\Windows\CurrentVersion\Policys\System\ValidateAdminCodeSignatures
      设置为
      0

  • 所述应用程序无法在调试器中运行

  • 如果是.NET应用程序:

    • 清单必须嵌入到生成后步骤中

    • 应用程序必须具有“延迟签名”(这意味着它不能从内置调试器运行,尽管您可以构建和附加-这是Microsoft所做的)

  • 应用程序必须使用受信任的证书签名

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


  • 运行windows语音识别。它是一个最上面的窗口,浮动在开始菜单、桌面等上,所以这是可能的。我正在为Windows8开发一个触摸模拟器,需要实现这个功能

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


    不可能,Metro应用程序在自己的受保护桌面上运行。与传统桌面相比,Metro令人难以置信地乏味;两者之间的互动几乎是不可能的,也不可取。谢谢大家。另一个数据点是,屏幕上的windows键盘似乎是onmi(甚至在“开始”菜单和其他metro应用程序上)。诚然,它在windows中可以有特殊的权限……辅助功能工具有特殊的权限。@RaymondChen您指的是所有辅助功能工具(在清单中以某种方式声明自己),还是指内置的windows辅助功能工具(意味着第三方开发人员无法获得相同的访问权限)?