ABM_GETTASKBARPOS
的文档说:
You must specify the cbSize and hWnd when sending this message
但是我应该将结构的hWnd
成员设置为什么?我google了一下,看到有些人做了以下事情:
abd.hWnd = FindWindow("Shell_TrayWnd", NULL);
但是如果你问我这是非常丑陋的代码,因为它依赖于系统内部,即假设任务栏的窗口名称是Shell_TrayWnd
。
我做了一些实验,至少在Windows 7上,ABM_GETTASKBARPOS
工作正常而没有在hWnd
结构成员中传递窗口句柄,所以我想知道这是否是MSDN上的文档错误毕竟。文档对我来说真的没有意义。 Windows为什么要让我传递任务栏的窗口句柄?这是SHAppBarMessage()
应该了解的内部内容。
有人可以对此有所了解吗?我应该将hWnd
设置为什么?或者这可能是MSDN上的文档错误?正如我所说,当hWnd
设置为NULL
时,它可以正常工作。