系统是不会自动决定使用哪个API的.例如直接使用TextOut的话, 如果你的程序#define UNICODE了,它就编译成TextOutW,如果没有,它就编译成TextOutA,EXE文件就最终用其中一个.例如你的一个文件名中包含了一个繁体的"黒"字,如果不使用UNICODE你写一个ExtractPath的功能的时候,碰到这个"黒"字它就会出问题.因为它其中一个编码是'\\'.不过我又觉得奇怪,BCB的函数似乎都不是UNICODE的,却可以正确提取出路径来.ACDSEE似乎都不是UNICODE的.