从 C# 更改正在运行的进程的 ApplicationID
在 Windows 7 中,我们有 ApplicationID 的概念,它允许(除其他外)对任务栏中的多个图标进行分组。 如何从 C# 更改正在运行的进程的 ApplicationID?我正在尝试使用另一个应用程序制作我的 WinForm 应用程序的图标组。 我尝试过使用 Windows API 代码包库,将以下代码粘贴到我的 Load 事件中...但它不起作用。建议?
TaskbarManager.Instance.ApplicationId = "MyAppID";
Process[] p = Process.GetProcessesByName("OtherProcess");
TaskbarManager.Instance.SetApplicationIdForSpecificWindow(p[0].MainWindowHandle, "MyAppID");
In Windows 7 we have the concept of ApplicationID, which allows (among other things) to group several icons in the task bar.
How can I change the ApplicationID of a running process from c#? I'm trying to make my WinForm app's icon group with another application.
I've tried using Windows API Code Pack Library, sticking the following code in my Load event... but it didn't work. Suggestions?
TaskbarManager.Instance.ApplicationId = "MyAppID";
Process[] p = Process.GetProcessesByName("OtherProcess");
TaskbarManager.Instance.SetApplicationIdForSpecificWindow(p[0].MainWindowHandle, "MyAppID");
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我重现这个。我认为 SDK 文档是错误的,而 SetApplicationIdForSpecificWindow() 方法的 XML 文档是正确的:
我强调不是。
I repro this. I think the SDK docs are wrong and the XML docs for the SetApplicationIdForSpecificWindow() method are correct:
I emphasized NOT.
一个(有点)明显的解决方案是将您想要组合在一起的两个窗口的应用程序 ID 设置为相同的 ID。
示例:
Aaaa,两个窗口将被分组在一起。
A (somewhat) obvious solution is to set both of the windows' Application IDs you want grouped together to the same ID.
Example:
Aaaaand both the windows will be grouped together.