none
如何将一个窗口完全置顶 RRS feed

  • 问题

  • dear all:

         我想实现一个功能, 让一个desktop app的窗口置顶,包括在Metro风格界面上。 我之前使用的时候 TopMost属性,我发现这个属性设置为true之后, 窗口能在desktop上置顶。 但是如果我按了 win键的话,窗口就被隐藏了! 但是我对比了任务管理器, 任务管理器是可以在metro风格程序见面中置顶的。我不知道任务管理器是如何实现这个置顶的功能。

    2012年12月21日 10:08

答案

  • 问题已经解决, 但是实现起来比较麻烦:

    1.在窗口属性中设置TopMost

    2.修改manifest中的属性, 设置为     <requestedExecutionLevel level="highestAvailable" uiAccess="true" />

    3.编译代码

    4.使用可信的私钥签名,我使用的签名工具是开发包自带的Signtool.exe(如果不是可信私钥也可以, 但是运行之前需要将该私钥导入到可信证书里面)

    5.将文件拷贝到特殊位置(如program files等需要管理员权限的敏感位置)

    6.运行, 然后按Win键, 就就会发现它在Metro上也能置顶了!

    以上是我的尝试, 有更好的方法,还请大虾们指教~!

    • 已标记为答案 hejinyang 2012年12月26日 6:43
    2012年12月26日 6:42

全部回复

  • 问题已经解决, 但是实现起来比较麻烦:

    1.在窗口属性中设置TopMost

    2.修改manifest中的属性, 设置为     <requestedExecutionLevel level="highestAvailable" uiAccess="true" />

    3.编译代码

    4.使用可信的私钥签名,我使用的签名工具是开发包自带的Signtool.exe(如果不是可信私钥也可以, 但是运行之前需要将该私钥导入到可信证书里面)

    5.将文件拷贝到特殊位置(如program files等需要管理员权限的敏感位置)

    6.运行, 然后按Win键, 就就会发现它在Metro上也能置顶了!

    以上是我的尝试, 有更好的方法,还请大虾们指教~!

    • 已标记为答案 hejinyang 2012年12月26日 6:43
    2012年12月26日 6:42
  • Hi,@hejinyang

    我们也遇到了窗口不能置于metro页面顶上的问题,很感动看到你的解答,但是,我想问一下,第4步具体该怎么做呢,怎样获取到可信的私钥?求教~万分感谢

    2013年3月26日 7:31
  • Hi,@hejinyang

    我们也遇到了窗口不能置于metro页面顶上的问题,很感动看到你的解答,但是,我想问一下,第4步具体该怎么做呢,怎样获取到可信的私钥?求教~万分感谢


    默认在可信列表里面的私钥需要花钱才能获得,你可以自己生成一对公钥/私钥对然后把证书导入到受信任证书里面。

    2013年3月26日 13:09