【问题标题】:How does the explorer/windows taskbar work internally?资源管理器/Windows 任务栏如何在内部工作?
【发布时间】:2011-07-13 18:30:10
【问题描述】:

我正在尝试编写一个没有开始菜单和标准桌面的非常有限的任务栏替换。 但现在我想知道 explorer.exe 如何在内部工作。

1.) 任务栏如何捕捉最小化窗口?
2.) 任务栏如何知道窗口何时打开或关闭等? (有api吗?)

3.) explorer.exe 如何启用视觉样式? (如果不运行,所有样式都被禁用,看起来像win9x)

【问题讨论】:

    标签: windows winapi


    【解决方案1】:

    查看 MSDN 库中的 SetWindowsHookEx() 文档。这里重要的钩子类型是 WH_SHELL。

    【讨论】:

    • cool:不知道有这样的钩子类型,但据说你必须以某种方式将应用程序注册为默认外壳
    • 我想写:文档
    【解决方案2】:

    SetWindowsHookEx 带有 WH_CBT 或 WH_SHELL 挂钩(我不确定当资源管理器未运行时 WH_SHELL 是否在所有系统上 100% 工作)

    就#3而言,我认为我没有看到这个问题。

    Explorer 使用了很多未记录的函数,你应该看看一些开源替换 shell 或 google RegisterShellHook、ShellDDEInit 和 ARW_HIDE

    【讨论】:

      【解决方案3】:

      检查 RegisterShellHookWindow,我相信微软添加它是为了避免在较新的 x64 操作系统版本上维护 32 位和 64 位挂钩。

      【讨论】:

        猜你喜欢
        • 2016-04-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-21
        相关资源
        最近更新 更多