last paragraph), there's also the possibility that Windows recognizes that it's a message known to contain pointers, and so just drops the message, so that EM_GETSEL is simply never dispatched? Or maybe the edit control uses IsBadWritePtr or exception handlers (though that would be even worse, race conditions...). At least message loops in SetFocus really doesn't seem right.