我有两个申请。一个是主应用程序,另一个是更新程序。
用户使用更新程序启动 - 如果有更新,则会下载并解压缩,否则只会启动主应用程序。我为此使用了两个应用程序,以便我能够覆盖主应用程序。
问题是用户已将“启动器”应用程序固定在他们的任务栏上,但是当主应用程序启动时,它不会在该图标下分组并且非常混淆。
有什么方法吗?
答案 0 :(得分:1)
您应该可以使用Windows API Code Pack执行此操作。
您需要使用Microsoft.WindowsAPICodePack.Shell程序集中的Microsoft.WindowsAPICodePack.Taskbar
命名空间。
调用TaskbarManager.Instance.SetApplicationIdForSpecificWindow( window, string appId );
方法。如果您正在使用WinForms,则可以指定IntPtr
窗口句柄;如果使用WPF,则可以指定Window
实例。
在启动后立即在两个进程中执行此步骤,并为两者指定相同的appId。
答案 1 :(得分:1)
您可以参考[How to group my apps in windows taskbar?的乔治的答案, 通过强制使两个进程共享相同的APP_ID(string) 只需在每个进程的main()上调用shell32!SetCurrentProcessExplicitAppUserModelID
答案 2 :(得分:0)
已经提到了设置应用程序用户型号ID。
但是,仍然存在一个问题,即固定应用程序时,它不会固定到启动器。但是,还有一个解决方案,就是固定启动器/更新器而不是应用程序:Pinning to the taskbar a "chained process"