MFC界面字符串显示的有关问题

MFC界面字符串显示的问题
自定义了一个消息,像界面的某一个edit发送字符串并显示
PostMessage是这样写的:


PostMessage(m_pMainWnd->GetSafeHwnd(), WM_FOLDERMONITOR_MSG_LOGSERVERSTATUS, (WPARAM)strMessage, 0);


strMessage是TCHAR类型的

事件处理是这样写的:


TCHAR* strMessage = (TCHAR*)wParam;
if (!strMessage)
return 0;

m_editJobStatus.SetWindowText(strMessage);


但是这时候的strMessage已经是不是以前的字符串了,成了乱码,例如:”Online“变成了”ō䠄i“ 显示出来也不对了
请问这是什么原因?

项目使用的是 Use Unicode Character Set

谢谢了 - -|
------解决思路----------------------
项目设置中不要使用 Unicode, 用这个编码太麻烦
------解决思路----------------------
你给其他窗口发送了一个字符串指针,不是字符串啊,你得new 一个字符串,并发送这个指针,接受窗口使用完后delete掉就行了

------解决思路----------------------
这种情况最好使用SendMessage来发送,因为PostMessage把消息放到消息队列就返回了,等到处理这个消息的时候,局部变量strMessage已经被销毁了。如果非要用PostMessage的话,要么就把strMessage搞成CxxDlg的成员变量或全局变量,要么就用2楼的方法,TCHAR *strMessage = new TCHAR[100];,然后进行消息处理时delete
------解决思路----------------------
Handle to the window whose window procedure is to receive the message. Two values have special meanings. 

给edit发消息为什么是m_pMainWnd->GetSafeHwnd()?