【问题标题】:App Shortcut without pinning to Start Screen in Windows 8 using C++使用 C++ 在 Windows 8 中无需固定到“开始”屏幕的应用快捷方式
【发布时间】:2012-11-01 23:55:01
【问题描述】:

我们公司有一个用 C++ 编写的安装程序,它使用 IShellLink 创建程序快捷方式,如下所述: http://msdn.microsoft.com/en-us/library/windows/desktop/bb776891%28v=vs.85%29.aspx

在 Windows 8 上,在“开始”菜单中创建的所有快捷方式也将在“开始”屏幕上显示为标题。我们要做的是以编程方式控制开始屏幕上显示的图标。在下面的文章中,它将选项“System.AppUserModel.StartPinOption”描述为:

要创建添加应用快捷方式而不将其固定到“开始”屏幕 查看,可以在快捷方式上设置如下属性: System.AppUserModel.StartPinOption = 1。1 的符号名称是 APPUSERMODEL_STARTPINOPTION_NOPINONINSTALL。

http://msdn.microsoft.com/en-us/library/windows/desktop/jj673981%28v=vs.85%29.aspx

这似乎可以使用 Windows Installer 实现,但是鉴于我们的上下文,我还没有找到在 C++ 中以编程方式完成相同功能的方法。

如果有人有任何关于此的信息,或某种示例,将不胜感激。

【问题讨论】:

标签: c++ winapi windows-8


【解决方案1】:

我发现的一件事是“..NewInstall”字面意思就是这个意思。即使在您删除/更新 .lnk 文件后,用户对磁贴的自定义似乎也会保留。这可能是一件好事,因为更新不会重置用户的环境,但这确实意味着我需要在测试期间使用全新安装的 Windows 8。我使用了一个虚拟机盒子来减少痛苦。至少我不知道如何删除从环境中设置的属性。

【讨论】:

  • 删除并重新创建图标/快捷方式文件将重置标志并使其再次成为“新”。
  • 试了很多次都没有成功。重新创建快捷方式后,瓷砖出现在我离开它们的地方。我们的 QA 小组发现了同样的事情。我们实际上喜欢这种行为。但是,如果您是正确的,那么我认为需要重新启动或重新登录才能刷新缓存。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-02
  • 1970-01-01
  • 2019-10-02
相关资源
最近更新 更多