不过,如果程式使用Unicode编译并在Windows NT下执行,那么程式会执行得更好。我在第二章提到过这个问题,并且展示了Unicode对简化棘手的国际化问题的重要性。
键盘(二十五)
需要处理WM_DEADCHAR讯息,原因是WM_CHAR讯息已含有程式所需要的所有资讯。Windows的做法甚至还设计了内部错误处理。如果在死键之後跟有不能带此音调符号的字母(例如「s」),那么视窗讯息处理程式将在一行接收到两条WM_CHAR讯息-前一个讯息的wParam等於音调符号本身的ASCII代码(与传递到WM_DEADCHAR讯息的wParam值相同),第二个讯息的wParam等於字母s的ASCII代码。