这个问题是不太注意的好问题,关系到UNICODE编程。
_T是对UNICODE编程的方便应用,定义在TCHAR.H文件中,如果在你的程序中定义了_UNICODE 的话,_T("value")会在处理过程中转化为UNICODE模式即:L"value",如果没有定义_UNICODE ,,_T("value")会在处理过程中转化为ANSI模式即:"value";
简单的说:
UNICODE:str=_T("value");//str=L"value",以双字节来处理
ANSI:str=_T("value");//str="value",以单字节来处理
详细的内容可以参考《WINDOWS 核心编程》或其它UNICODE编程参考书,以及MSDN