C# 如何在启动时为非';t耦合到特定窗口实例

C# 如何在启动时为非';t耦合到特定窗口实例,c#,wpf,windows,taskbar,C#,Wpf,Windows,Taskbar,在Skype等应用程序中,在现代系统中,关闭窗口可以有效地减少对任务栏的访问,因为通知直接显示在任务栏覆盖上。在我的例子中,我有一个多窗口生态系统。是否有方法注册分配给某个任务栏项的某些行为,而该任务栏项不属于特定窗口的应用程序生命周期的一部分?在.NET中有这样做的方法吗?特别是WPF 理想情况下,这将适用于启动应用程序时不创建窗口句柄,只创建进程等的情况。窗口将根据使用情况在上下文中创建。资源将按需加载。如果您打算关闭,请至少对原因发表评论。我觉得我的问题很清楚。如果您不理解,请询问更多信息

在Skype等应用程序中,在现代系统中,关闭窗口可以有效地减少对任务栏的访问,因为通知直接显示在任务栏覆盖上。在我的例子中,我有一个多窗口生态系统。是否有方法注册分配给某个任务栏项的某些行为,而该任务栏项不属于特定窗口的应用程序生命周期的一部分?在.NET中有这样做的方法吗?特别是WPF


理想情况下,这将适用于启动应用程序时不创建窗口句柄,只创建进程等的情况。窗口将根据使用情况在上下文中创建。资源将按需加载。

如果您打算关闭,请至少对原因发表评论。我觉得我的问题很清楚。如果您不理解,请询问更多信息。您是专门询问有关Systray图标的信息,还是询问与Systray工具相关的此类通知覆盖。(顺便说一句,今天似乎是“-1”的日子。我今天在这里经常看到这个。一定有人过了一个非常糟糕的圣诞夜…)我从来没有说过系统托盘。我说任务栏。想想Skype,如果您“关闭”应用程序,该项目将在任务栏中保持活动状态以提供通知。系统托盘很少有用。WPF是不可使用的,因为它不能为您提供处理操作系统特定内容的方法。在最后几分钟,我仔细研究了一下。闻起来您需要创建一个本机窗口,将其隐藏起来,并在WindowProc中截取相关消息。虽然WinForms有一个NativeWindow类型,但快速看一眼,它似乎不够灵活。我目前认为最好有一个处理WinAPI的C++/CLR库。如果我明天有时间,我打算创建这样一个(零碎的)库,但我不能保证。关于操作(或者更确切地说更改)任务栏图标,您可能需要查看和“”。