被这个问题搞疯了! - C++ Builder / Windows SDK/API
用sendmessage发送消息,不是说后两个参数可以传一些附带的数据么,我就用sendmessage(hWnd,WM_MSG_OPEN(自定义消
息),wparam,(LPARAM)szFileName)想把这个TCHAR型的字符串连同WM_MSG_OPEN一起发送给另一个线程(同一个exe打开两次),
我在WM_MSG_OPEN 中 _tcscpy(s_szFileName,(TCHAR*)lParam) 来把发过来的字符串复制给s_szFileName。问题是编译运行后
s_szFileName并没有改变啊,这是为什么呢,是传值时候的问题还是接受时候的问题啊,求详细解释啊
[解决办法]
发送方:
LPTSTR lp = new TCHAR[256];
_tcscpy(lp, TEXT("测试字符串");
::SendMessage(hWnd, WM_MSG_OPEN, _tcslen(lp), (LPARAM)lp);
delete []lp;
接收方:
LPTSTR lp = (LPTSTR)Msg.LParam;
ShowMessage(lp);