Holy cow, I wrote a book!
Some time ago,
asked (and answered),
How the @#%&*! does CBS_SORT choose to sort it all out?
One detail in his answer is that the sorting algorithm used
is basically CompareString,
with special treatment for the left square bracket U+005B.
Why is the left square bracket so special?
It goes back to the LB_DIR message
(which is in turn used by
and related functions).
If you ask for drives to be added to the list or combo box,
they are added in the form [-X-], where X
is the drive letter.
The left square bracket is special-cased so that the drive
letters sort to the top of the list.
Of course, LB_DIR and related functions and messages
are pretty old-school nowadays,
but the code for them is still around,
so the sort function still needs to worry about them.