Hm... 63 is a '?' .... supsicious somehow.
All values for wparam are always in 8 bit range? Strange.

According to the msdn you may receive both single and double byte characters, but this is not Unicode then and requires conversion - which is not trivial at all.