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.