10

Here's a quick one.

I'm starting out with using hooks in in Windows, and I notice that there's a hook type called a "CBT" hook. Though I know how it's used from the documentation, what does CBT stand for, exactly? I'm having a bit of trouble finding that in the docs...

Joel Coehoorn
  • 399,467
  • 113
  • 570
  • 794
Dave Markle
  • 95,573
  • 20
  • 147
  • 170

3 Answers3

13

CBT stands for "Computer-Based Training". In addition to its original, intended purpose of enabling instructional software, a CBT hook is most commonly used to provide notification when a window is created, destroyed, activated, resized, moved, minimized, etc.

See the CBTProc Callback Function docs on MSDN for more information.

Cody Gray - on strike
  • 239,200
  • 50
  • 490
  • 574
  • 2
    Wow, what a god-awful abbreviaton for a low-level function! Ah, the deathly evil nether-regions of the Win32 API! – Dave Markle Nov 24 '10 at 14:52
  • 3
    @Dave Markle before criticising the wonderful Win32 API would you care to offer your alternative? – David Heffernan Nov 24 '10 at 20:07
  • @David: The issue with criticizing the Win32 API is definitely not the absence of superior alternatives, but rather the benefits of hindsight and technological advances in the intervening years. That being said, `CBTProc` makes perfect sense to me—I think I'm already ruined. – Cody Gray - on strike Nov 25 '10 at 08:07
  • 7
    Win32 is 25 years old and the original design is still in place, largely unchanged, working rather well. I'd say it was a triumph myself. I doubt I'll ever design software that lasts that long. – David Heffernan Nov 25 '10 at 09:04
3

It stands for Computer Based Training.

Klaus Byskov Pedersen
  • 117,245
  • 29
  • 183
  • 222
2

I believe it is "Computer Based Training": it's intended to be used in (very basic level!) instructional software that shows the user how to move and click the mouse.

Pontus Gagge
  • 17,166
  • 1
  • 38
  • 51