NetUIHWND 和 DirectUIHWND

2021-12-13 00:00:00 user-interface winapi c++

使用Spy++工具,似乎有些微软应用使用了NetUIHWND和DirectUIHWND窗口类;例如:Word 2010 的功能区似乎是 NetUIHWND,而 Windows Live Messenger 窗口似乎是 DirectUIHWND.

Using Spy++ tool, it seems that some Microsoft apps use NetUIHWND and DirectUIHWND window classes; e.g.: Word 2010's ribbon seems to be a NetUIHWND, instead Windows Live Messenger window seems to be a DirectUIHWND.

这些窗口类似乎承载了一些很酷的图形(带有阴影、渐变等);是否可以在我们自己的 Win32 C++ 应用程序中使用这些窗口类?有没有关于它们的文档?

These window classes seem to host kind of cool graphics (with shadows, gradients, etc.); is it possible to use these window classes in our own Win32 C++ apps? Is there any documentation about them?

推荐答案

是的,它已经存在一段时间了.但它在 Windows7 中得到了特别多的使用.不幸的是,他们把这个留给自己,它是无证的.您可以尝试对其进行逆向工程,使用 ListView 作为它可能执行的操作的指南.但是您的代码几乎肯定会在下一版本的 Windows 中崩溃.我认为这是不记录的重点,他们需要一些他们不必保持向后兼容的东西,以便能够改善操作系统的外观.

Yes, it has been around for a while already. But it gets especially a lots of usage in Windows7. Unfortunately, they keep this one to themselves, it is undocumented. You can try to reverse-engineer it, use a ListView as a guide to what it might do. But your code will almost certainly break in the next version of Windows. Which I think was the point of not documenting it, they need something they don't have to keep backwards compatible to be able to improve the look-and-feel of the operating system.

相关文章