Your test looks wrong; surely it should return
TRUE
to indicate an alphabetic character. Also, why use hex rather than actual characters? So ...
if ((pMsg->wParam >= 'A' && pMsg->wParam <= 'Z') ||
(pMsg->wParam >= 'a' && pMsg->wParam <= 'z'))
{
return TRUE;
}
You can see what actual value is in
wParam
by using your debugger.