27

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.

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?

unwind
  • 391,730
  • 64
  • 469
  • 606
EmbeddedProg
  • 867
  • 1
  • 9
  • 13

4 Answers4

21

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.

Hans Passant
  • 922,412
  • 146
  • 1,693
  • 2,536
4

NetUIHWND and DirectUIHWND are the Win32 class types for different GUI toolsets. From Win32 perspective they are a self drawn panel.

So you wouldn't use these classes directly, you would use the other GUI toolsets to build the UI.

Greg Domjan
  • 13,943
  • 6
  • 43
  • 59
2

Not sure about the Messenger UI, but you can use the ribbon control in your own apps.

Martin Schneider
  • 14,263
  • 7
  • 55
  • 58
Tim Robinson
  • 53,480
  • 10
  • 121
  • 138
-1

Use the Microsoft Active Accessibility API:

There is no need to reverse engineer this thing, you can enumerate this class structure using the Microsoft Active Accessibility API.

Jeremy
  • 1
  • 85
  • 340
  • 366
stng
  • 124
  • 10
  • 3
    This only allows you to access or inspect these UI instances hosted in other apps, it doesn't allow you to use or host the UI yourself, which is what the OP is asking about; Tim Robinson's answer is the right answer for that. – BrendanMcK Jan 15 '13 at 11:35