如何在开始菜单中将我自己的应用程序置于顶部?

use*_*468 12 c# winforms windows-8

我用C#语言(.net)编写了一个小型桌面应用程序(主窗体).我希望将我的应用程序放在开始菜单(Windows 8)的顶部,就像"camtasia studio screenrecoder"一样.

看截图我想要的小应用程序.

在此输入图像描述

我必须在我的应用程序中添加什么代码?

注意:我已尝试设置topMost = true,但这不起作用.

Rad*_*nov 5

如果您想要一个位于Metro顶部的窗口,则需要它来声明可访问性.以下是要点:

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

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

  3. 如果不更改组策略设置,则必须将其安装到某个受信任位置[C:\ Windows,C:\ Program Files,C:\ Program Files(x86)].

一个.注意:如果您希望能够从任意位置运行它,则必须禁用安全设置:"用户帐户控制:仅提升安装在安全位置的UIAccess应用程序".

湾 注意2:这与将HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\ValidateAdminCodeSignatures设置为0相同

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

  2. 如果它是.NET应用程序

一个.清单必须嵌入在构建后的步骤中

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

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

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

有关详细信息,请参阅:http: //msdn.microsoft.com/en-us/library/ms726294

  • 我花了两个小时寻找答案,我找到了所有 - [本文](http://blogs.microsoft.co.il/blogs/pavely/archive/2012/05/16/windows-8-topmost-vs -topmost.aspx).这似乎是一项非常重要的挑战. (2认同)