首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

被这个有关问题搞疯了

2012-02-12 
被这个问题搞疯了! - C++ Builder / Windows SDK/API用sendmessage发送消息,不是说后两个参数可以传一些附

被这个问题搞疯了! - 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);

热点排行