代码之家  ›  专栏  ›  技术社区  ›  kalan

.NET中的多监视器任务栏

  •  2
  • kalan  · 技术社区  · 16 年前

    我有一个想法在C for Windows XP中编写一个多电机任务栏应用程序。那么,有人知道如何

    • 在第二个上放置任务栏 监视器,
    • 要使用Windows样式,
    • 以防止应用程序在 默认显示第二个监视器 任务栏,
    • 等等。。。

    任何帮助都是……有帮助的)。

    1 回复  |  直到 16 年前
        1
  •  2
  •   Hans Passant    16 年前

    您可以p/invoke shappbarmessage()创建一个任务栏。您需要的appbardata.hwnd可以只是表单类的句柄。任何东西都能达到你展示的程度。

    获取要使任务栏显示活动窗口所需的通知将非常困难。您需要使用setWindowsHookEx()设置的全局wh_shell挂钩来接收您需要的通知。您不能在C中设置这个钩子,它需要一个非托管的dll,您可以将其注入到进程中。你将在 this project .

    让Windows任务栏不做它的正常工作是不可能的,除非你以某种方式找到你需要的未记录的信息。微软没有很好的理由来记录这一点,任务栏是他们在Windows外观和感觉上进行创新的一个重要部分。在Win7中非常可见。他们不希望任何代码依赖于此,他们几乎不可能保持下一版本的Windows兼容。我建议您完全禁用Windows任务栏并用自己的任务栏替换它。