0

I'm trying to build a c++ program that customizes another window title bar, adding colored text and icons. The window I need to customize is in a closed source program.

Right now I can only change the text with SetWindowText, but was unable no find a way to get that level of customization:

Razor Ultima Online Customized Titlebar

The image is from Ultima Online title bar being customized by Razor, a closed source helper program.

Thanks for reading.

JoseCastro
  • 60
  • 7

2 Answers2

2

Custom drawing and subclassing of other process windows requires DLL injection and hooking to detect the windows creation with subclassing to handle the non client drawing and click/hittest messages..

Deanna
  • 23,876
  • 7
  • 71
  • 156
  • and once you've done that, handling [WM_NCHITTEST](http://msdn.microsoft.com/en-us/library/windows/desktop/ms645618(v=vs.85).aspx) should help you –  Dec 12 '11 at 20:27
1

You should inject you DLL into client.exe process, then override main window function (WndProc), or create new window and make original client's window to be the child of your window.

Writing colored text on the caption is non-trivial task itself, especially if you want support Win7\Vista (however it's doable with GDI).

Abyx
  • 12,345
  • 5
  • 44
  • 76